ReactiveTableViewBinding_Pitometsu 1.1.1

ReactiveTableViewBinding_Pitometsu 1.1.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2017年2月

Yuriy Pitomets 维护。



  • 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 CETweetTableViewCell 定义了一个 UITableViewCell 子类,它用于渲染数组中的项。这个单元格必须实现 CEReactiveView 协议。

绑定辅助程序将一个源信号绑定到 UITableView,该信号是由视图模型的数组属性构建的。结果,表格视图将使用给定的单元格模板来渲染数组的内容。对视图模型中数组属性的更新将自动传播。

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

如果您需要更改视图模型中数组属性的值(比如添加/移除项),请使用 CEObservableMutableArray 类。这是一个 NSMutableArray 子类,它通知观察者变更是如何发生的,从而允许绑定辅助程序自动从表格视图中添加/删除行。有关绑定到可变数组的示例,请参阅 QuotesListExample 项目。

此项目包含两个示例项目

  • TwitterSearchExample - 一个示例应用,用于搜索推特,具有使用辅助程序绑定的表格视图,显示结果。
  • QuotesListExample - 一个示例应用,显示股票报价列表,其中价格会动态更新,并且可以添加/移除项。

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