UITableViewCell绑定到数据模型(由FetchedResultsController驱动的更新)

时间:2014-03-07 19:53:05

标签: ios uitableview reactive-cocoa

我正试图让我的个人UITableViewCells:我希望将模型的初始值带到他们的UI表示以及用户进行更改后带来新的UI值回到模特。让我们首先关注后者:UI更改传播到模型。

为了更多地了解背景,我在添加新项目时遇到了问题。此表由NSFetchedResultsController驱动,didChangeObjectChangeInsert发送一个didChangeObject ChangeUpdateChangeInsertinsertRowsAtIndexPaths会触发表格中的ChangeUpdatereloadRowsAtIndexPath会触发cellForRowAtIndexPath

由于这两个响应,我的表视图要求RACSignal两次。如果在请求之间正确处理相同的单元格,但这看起来不应该是一个问题:我收到一个断言,模型中的属性已经绑定到RAC(self.model,value) = [ [RACSignal merge:@[self.valueField.rac_textSignal] ] takeUntil:self.rac_prepareForReuseSignal]!我已经尝试了许多方法来更明确,例如:

takeUntil:[RACObserve(self, model) 然而,重用信号不会及时触发,因为它仍然断言(除此之外,是否有推荐的方法来直接调试这样的触发信号?)

我尝试添加一个额外的skip:1来处理信号,一旦重用的单元格模型被覆盖(并将其绑定到新模型),可以理解这似乎导致第一个值处理。但是,在观察中添加{{1}}会让我回到原来的位置。

请告诉我,如果有其他任何地方我可以添加清晰度,或者如果您有其他方式来解决这些问题。我对Reactive Cocoa很新,并且仍在学习最佳实践:)

谢谢!

0 个答案:

没有答案