iOS 中有许多绑定选项,其中最值得注意的是 ReactiveCocoa。虽然 RAC 很好,您应该非常认真考虑在应用程序中使用它,但有时只需要一个简单的绑定,flatMap
、command
和 signal
等词汇可能会让您的队友感到害怕。这就是我构建 Binding 的原因。
Binding 的目标是填补这个位置——“不那么可怕”的可观察者位置。
self.resultsBinding = [Bind(self.dataStore, results) next:^(id value) {
[self.tableView reloadData];
}];
但是,如果您正在加载评论视图,并且还想更新标题以显示放入中的项目的数量?新的值会传递到您的下一个块中。考虑如下扩展上述代码
self.resultsBinding = [Bind(self.dataStore, results) next:^(NSArray* results) {
self.title = [NSString stringWithFormat:@"Comments (%tu)", [results count]];
[self.tableView reloadData];
}];
[self.resultsBinding next:^(NSArray* results) {
NSLog(@"results = %@", results);
}];
有关本库的使用和分发受何种条款约束的信息,请参阅 LICENSE 文件。