Coredata更新后的一致更新UITableview

Ick*_*cky 2 iphone delegates asynchronous core-data objective-c

我有一个使用coredata的应用程序.数据下载发生在A类中.Coredata更新/保存/删除在SharedDelegate(B)中.委托在A中启动下载并实现其协议以在下载完成时得到通知,因此委托可以更新其在数据库中的数据.

现在,在那之后,我希望具有UITableview的C类更新其行和单元格,以便我可以显示新内容.

我怎么能正确地告知C,它可以更新它的表?可能发生的错误有哪些?

下载和更新当然是异步发生的,到目前为止,我只在完成所有下载后更新....我想分割任务,这样说.

任何提示?

Ole*_*ann 6

两种选择:

  1. 使用a NSFetchedResultsController作为表视图的数据源.该文档NSFetchedResultsController包含许多代码,您可以将这些代码复制并粘贴到应用程序中,以便在托管对象上下文发生更改时管理表视图更新.

  2. 注册NSManagedObjectContextObjectsDidChangeNotification.在您的通知方式,处理情况 NSInsertedObjectsKey,NSUpdatedObjectsKey以及NSDeletedObjectsKey并相应地更新您的表视图.