ReactiveTableViewBinding 1.0

ReactiveTableViewBinding 1.0

测试测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年4月

Colin Eberhardt维护。



  • Colin Eberhardt

ReactiveCocoa TableView Binding Helper

此项目包含一个简单的辅助类,可以用于将 ReactiveCocoa 视图模型的数组属性绑定到表视图。以下是如何使用它的快速示例

// create a cell template
UINib *nib = [UINib nibWithNibName:@"CETweetTableViewCell" bundle:nil];

// bind the ViewModels 'searchResults' property to a table view
[CETableViewBindingHelper
     bindingHelperForTableView:self.searchResultsTable
                  sourceSignal:RACObserve(self.viewModel, searchResults)
              selectionCommand:nil
                  templateCell:nib];

在上面的例子中,nib 文件 CETableViewTableViewCell 定义了一个 UITableViewCell 子类,该类用于渲染数组中的项。此单元格必须实现 CEReactiveView 协议。

绑定辅助程序将源信号(从视图模型的数组属性构建的信号)绑定到一个 UITableView。结果,表视图将使用给定的单元格模板渲染数组的内文。视图模型上数组属性的更新将自动传播。

如果您需要处理选择,可以通过 selectionCommand 参数向绑定辅助程序提供一个 RACCommand。每次选择变化时都会执行此命令。

如果您需要修改(即添加/删除项)视图模型上的数组属性,请使用 CEObservableMutableArray 类。这是一个 NSMutableArray 子类,它通知观察者对变异(mutation)的变化,使绑定辅助程序能够自动从表视图中添加/删除行。查看 QuotesListExample 项目,以了解如何将绑定到可变数组的示例。

此项目包含两个示例项目

  • TwitterSearchExample - 一个示例应用程序,它搜索推特,使用表格视图,通过辅助程序绑定,显示结果。
  • QuotesListExample - 一个示例应用程序,它显示一个股票报价列表,其中价格会动态更新,项目会添加/删除。

欲了解更多有关此辅助程序的信息,请参阅以下博客文章