此项目包含一个简单的辅助类,可以用于将 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
- 一个示例应用程序,它显示一个股票报价列表,其中价格会动态更新,项目会添加/删除。欲了解更多有关此辅助程序的信息,请参阅以下博客文章