Llo*_*d18 7 cocoa objective-c key-value-observing
我正在使用键值观察.我有object_1(NSManagedObject)和其他一些对象观察者.当我从托管对象上下文中删除object_1时,我的程序崩溃了.
CoreData:错误:严重的应用程序错误.在Core Data更改处理期间捕获到异常.这通常是NSManagedObjectContextObjectsDidChangeNotification的观察者中的错误.
我可以将一些东西放到dealloc方法(或其他地方)来删除object_1的所有观察者吗?或者唯一合适的决定是在我即将从托管对象上下文中删除object_1并通过其他对象监听此通知(从object_1的观察者中删除自己)时发送通知?
您需要确保在取消分配对象之前删除观察者.这是Key Value Observer的缺点.
正如您所建议的那样,一种方法是通过dealloc方法触发删除.显然你不知道谁有你的对象的观察者,但仍然需要通知他们.
我会描述你需要做什么,但也许只是看看bj-homer的问题我应该何时删除观察者?在删除观察者之前释放对象的错误.
如果这是你所追求的,那么就在那里投票.如果没有,请在此投票.无论如何,希望它有所帮助.