我有一个多上下文核心数据应用程序,它大量使用观察者来保持 UI 处于状态。由于观察到的对象被删除,我遇到了一系列删除问题。我很想用'if ([mo isDeleted]) return;'来保护我的观察者:

From NSManagedObject documentation



好吧,我书中糟糕的设计选择,但我很好奇人们如何解决这个问题。显然我需要在删除之前清除观察到的属性。我能想到的唯一“干净”方式是观察 NSManagedObjectContextWillChange 事件,看看我是否正在存储任何已删除的对象。似乎是一个干净的工作,但也许我错过了一些东西。

最佳答案

另一种可能适用于您的设计也可能不适用的替代方法:-[NSManagedObject managedObjectContext] 将返回 nil 如果它已被删除并且上下文已被保存。您可以在收到 NSManagedObjectContextDidSave 通知后进行检查。

关于objective-c - NSManagedObject 和 isDeleted,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4748484/

10-10 03:58