我使用 Core Data - 我已经注册并正在监听NSManagedObjectContextDidSaveNotification
:s 我有一个数据集合(来自 JSON),我想保存这些数据,并且在保存所有对象之后,我想得到某种通知。当前似乎在保存每个对象后发送此通知。是否有某种内置解决方案可以获取我想要的通知?如果没有,我怎么能/应该这样做?
问问题
216 次
1 回答
1
保存特定批次的对象后,不会发布任何内置通知。Core Data 真的不知道你的集合中有多少对象,所以它无法知道你已经到了它的尽头。
NSManagedObjectContextDidSaveNotification
每次调用save:
托管对象上下文时都会得到。您可以等到处理完所有对象后再保存,这意味着只有一个NSManagedObjectContextDidSaveNotification
.
更好的解决方案是在您知道已完成收藏后发布您自己的通知。定义一个名为 JSONUpdatesCompleteNotification 之类的字符串常量,并在您最后一次save:
调用后使用该名称发布通知。
NSString *JSONUpdatesCompleteNotification = @"JSONUpdatesCompleteNotification";
然后,当你知道你完成了,
[[NSNotificationCenter defaultCenter] postNotificationName:JSONUpdatesCompleteNotification object:self];
确保您在需要了解的任何地方都观察到此通知,然后您就完成了。
于 2013-05-08T16:35:03.753 回答