0

我使用 Core Data - 我已经注册并正在监听NSManagedObjectContextDidSaveNotification:s 我有一个数据集合(来自 JSON),我想保存这些数据,并且在保存所有对象之后,我想得到某种通知。当前似乎在保存每个对象后发送此通知。是否有某种内置解决方案可以获取我想要的通知?如果没有,我怎么能/应该这样做?

4

1 回答 1

1

保存特定批次的对象后,不会发布任何内置通知。Core Data 真的不知道你的集合中有多少对象,所以它无法知道你已经到了它的尽头。

NSManagedObjectContextDidSaveNotification每次调用save:托管对象上下文时都会得到。您可以等到处理完所有对象后再保存,这意味着只有一个NSManagedObjectContextDidSaveNotification.

更好的解决方案是在您知道已完成收藏后发布您自己的通知。定义一个名为 JSONUpdatesCompleteNotification 之类的字符串常量,并在您最后一次save:调用后使用该名称发布通知。

NSString *JSONUpdatesCompleteNotification = @"JSONUpdatesCompleteNotification";

然后,当你知道你完成了,

[[NSNotificationCenter defaultCenter] postNotificationName:JSONUpdatesCompleteNotification object:self];

确保您在需要了解的任何地方都观察到此通知,然后您就完成了。

于 2013-05-08T16:35:03.753 回答