测试测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2014年12月 |
由 Peter Stuart 维护。
EPSReactiveTableViewController
是 UITableViewController
的子类,它自动填充一个表格视图,并通过观察模型对象数组的变更来自动动画地插入和删除行。它使用 ReactiveCocoa,并设计用于配合 MVVM 模式使用。
EPSReactiveCollectionViewController 为集合视图控制器提供类似功能。
继承 EPSReactiveTableViewController
,编写一个 init
方法,在 super
上调用 initWithStyle:bindingToKeyPath:onObject:
来设置绑定。键路径的值必须是包含实现了 -isEqual:
和 -hash
方法的对象的 NSArray
。数组中不应出现重复的对象。在 init
方法中,为将包含在观察数组中的对象类注册单元格类。(单元格类必须符合 <EPSReactiveTableViewCell>
。)
- (id)init {
EPSExampleViewModel *viewModel = [EPSExampleViewModel new];
self = [super initWithStyle:UITableViewStylePlain bindingToKeyPath:@"sortedObjects" onObject:viewModel];
[self registerCellClass:[EPSNoteCell class] forObjectsWithClass:[EPSNote class]];
...
return self;
}
如果您想了解何时单元格被点击,则订阅 didSelectRowSignal
属性。
[self.didSelectRowSignal subscribeNext:^(RACTuple *tuple) {
RACTupleUnpack(id object, NSIndexPath *indexPath, UITableView *tableView) = tuple;
// Do something with `object`
}];
无需编写任何 <UITableViewDataSource>
方法。
有关如何使用 EPSReactiveTableViewController
的更完整示例,请参阅 示例项目。
要运行示例项目;克隆仓库,然后从项目目录中首先运行 pod install
。
EPSReactiveTableViewController 需要 ReactiveCocoa 2.2 或更高版本。
EPSReactiveTableViewController 通过 CocoaPods 提供,要安装它,只需将以下行添加到您的 Podfile 中
pod "EPSReactiveTableViewController"
或者,将 EPSReactiveTableViewController.h
和 EPSReactiveTableViewController.m
包含到您的项目中,并按照他们的 安装说明 安装 ReactiveCocoa 2.2。
EPSReactiveTableViewController 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。