在NSManagedObject
上注册观察员的首选方法是什么(因为核心数据拥有被管理对象的生命周期)?如何将观察者添加到NSManagedObject?
我是正确,要做到这一点的方法就是听信了NSManagedObjectContextObjectsDidChange-Notification
并呼吁NSDeletedObjectsKey
addObserver:...
为NSInsertedObjectsKey
和removeObserver:...
?
在NSManagedObject
上注册观察员的首选方法是什么(因为核心数据拥有被管理对象的生命周期)?如何将观察者添加到NSManagedObject?
我是正确,要做到这一点的方法就是听信了NSManagedObjectContextObjectsDidChange-Notification
并呼吁NSDeletedObjectsKey
addObserver:...
为NSInsertedObjectsKey
和removeObserver:...
?
是的,你是对的。由于您已经在问题中发布的原因(在括号内),直接观察MO将会导致麻烦。
为了观察MO在整个生命周期中的表现,请在观察者出现时加入awakeFromInsert
和awakeFromFetch
。
其实,我认为我上面提出的是错误的。我认为添加观察者的地方是'awakeFromInsert'和'awakeFromFetch'。 (删除它们是不必要的。) – orome 2011-06-09 23:42:19
实际上你想要做什么?如果你想在创建MO时做些什么,那么确定,awakeFromInsert和awakeFromFetch是你的朋友。但是如果你想观察一些随机MO的变化,上面我认为是正确的。取决于你在做什么。 – Enchilada 2011-06-10 07:55:56
我想在整个生命周期中观察一些MO的实例,所以如果我在观察者存在的时候添加(使用'awakeFromInsert'和'awakeFromFetch'),我应该没问题。 – orome 2011-06-11 12:57:38