2

据我了解,NSFetchedResultsController 负责将数据从托管对象上下文同步到表视图控制器。代表在这里的作用是什么?我阅读了苹果文档并没有得到它。请简明扼要地阐述问题。

4

1 回答 1

0

好吧,简短的回答是,当对 NSFetchedResultsController (NSFRC) 中的托管对象执行操作时,委托方法允许您适当地更新表视图。

例如,如果您删除 NSFRC 结果中的对象,则它可以通过删除相应的行来更新表。

所以...

  • 告诉controllerWillChangeContent:你的表格视图你要改变它是个好主意(所以你应该调用beginUpdates:它)

  • controller:didChangeObject:atIndexPath:forChangeType当托管对象更改(添加、删除、移动等)时调用。酌情更新表视图(例如,deleteRowsAtIndexPaths:withRowAnimation:如果托管对象被删除,则调用)

  • controller:didChangeSection:atIndex:forChangeType与上述类似,但适用于表格视图部分。

  • controllerDidChangeContent更改完成时调用。在此方法中完成还调用endUpdates:您的表格视图

希望这会有所帮助。

于 2012-07-31T21:19:31.003 回答