NSManagedObjectContextObjectsDidChangeNotification并不总是立即被调用

时间:2011-10-12 15:13:52

标签: macos core-data nsmanagedobjectcontext nsnotifications nspersistentdocument

我有一个使用NSPersistentDocument的Mac应用程序。我希望在删除对象时收到通知,以使用Core Data保存此信息。所以我正在侦听NSManagedObjectContextObjectsDidChangeNotification。通常在删除对象时立即调用它,但有时仅在保存持久文档之后调用,之前未通知所有已删除的对象。因为我想让用户直接导出所有现有对象(而不是已删除的对象)我需要做什么才能立即收到通知以保存删除信息,或者我是否必须以其他方式使用它?

1 个答案:

答案 0 :(得分:9)

NSManagedObjectContextObjectsDidChangeNotification不再像10.6那样频繁或快速地在10.7上发布。您可以通过调用-[NSManagedObjectContext processPendingChanges]强制Core Data发出通知(假设有更改)。