NSManagedObjectContextObjectsDidChangeNotification 并不总是立即调用

发布于 2024-12-09 14:39:17 字数 244 浏览 0 评论 0原文

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

I have an Mac Application using a NSPersistentDocument. I want to get notified when Objects are deleted to save this information using Core Data. So I'm listening for NSManagedObjectContextObjectsDidChangeNotification. Often it is called instantly when objects are deleted, but sometimes it is only called after the persistent document is saved with all deleted objects not being notified before. Because I want to let the user directly export all existing objects (and not the deleted anymore) what to I have to do to become notified instantly to save the delete information or do I have to use it in another way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

○闲身 2024-12-16 14:39:17

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

NSManagedObjectContextObjectsDidChangeNotification is no longer issued as frequently or quickly on 10.7 as on 10.6. You can force Core Data to issue the notification (assuming there are changes) by calling -[NSManagedObjectContext processPendingChanges].

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文