2011-09-23 67 views
0

我想知道是否有可能保存並恢復CoreData實體keyPaths的觀察者。乾淨的方式來保存CoreData對象上的觀察者?

示例:我在managedObjectContext中有300名員工。當我第一次插入它們時,我將它們稱爲addObserver:..以便某些Object在someValue更改時得到通知。

現在我打電話saveAction:保存。我關閉了應用程序。當我重新啓動時,最好還原300 x addObserver的方法是什麼?

謝謝。 此致敬禮。

編輯:也就是說,什麼是最好的方式來添加觀察員時,取消對CoreData實體的存檔?模型類中的自定義init()?只需在for循環中獲取Employee的所有實體,然後在它們上調用addObserver?

回答

2

看起來像做這樣的事情的最佳方式將是您的員工實體的子類NSManagedObject並覆蓋awakeFromFetch和awakeFromInsert方法。當您第一次插入實體時會調用awakeFromInsert,因此您可以移動現有代碼以將觀察者添加到那裏。 awakeFromFetch是你在讀取時添加觀察者的地方。

+0

謝謝,不知道這些方法!他們聽起來像他們應該做我想要的! :) – tnull