使用AFIncrementalStore而不使用NSFetchedResultsController或NSArrayController

时间:2013-10-13 01:59:25

标签: core-data afincrementalstore

我正在尝试在没有NSFetchedResultsController或NSArrayController的情况下获取一些数据。问题是由于AFIncrementalStore的异步性质,我总是得到过时的数据(如果没有提取数据,则没有数据)。

有没有推荐的方法来处理这个问题?

2 个答案:

答案 0 :(得分:0)

我认为解决此问题的首选方法是使用NSFetchedResultsControllers(至少在iOS上)。如果您确实不想使用它,您可能希望订阅其中一个通知,具体取决于您希望收到的更改的粒度:

  • NSManagedObjectContextObjectsDidChangeNotification
  • NSManagedObjectContextDidSaveNotification

然后在发布其中一个通知时重新获取数据。

答案 1 :(得分:0)

您还可以尝试使用AFIncrementalStore通知获取有关何时获取远程数据的通知,以便更新UI和对象。

AFIncrementalStoreContextDidFetchRemoteValues

https://github.com/AFNetworking/AFIncrementalStore/blob/master/AFIncrementalStore/AFIncrementalStore.m#L29