2012-11-04 191 views
2

我在我的核心數據模型中有一個實體類別。類別與文章有多對多的關係。文章有一個屬性讀取,這是一個布爾值。核心數據:觀察嵌套屬性

我想觀察未讀文章的數量(所以我可以在標題中顯示它)。

第一種方法是這樣的:

[self.category addObserver:self forKeyPath:@"[email protected]" options:NSKeyValueObservingOptionNew context:nil]; 

但是,這是行不通的。我可以觀察文章集合以查看是否添加了某些內容,並單獨觀察所有元素。我可以得到這個工作,但我想知道是否有更簡單的方法。任何提示?

(這可能是Using KVO to observe changes to a property on an object inside a collection in Objective-C的重複,但我仍然認爲應該有更好的方法)。

回答

0

如何精確你需要知道什麼改變了,什麼時候改變了?如果您的要求非常簡單,您可以收聽NSManagedObjectContextObjectsDidChangeNotification通知,並檢查userInfoNSUpdatedObjectsKey。這些對象將通過其-changedValues方法返回更改。

如何將事件添加到articles集合中?直接在那裏直接代替使用KVO可能是最容易的。

+0

我發現changedValues在響應該通知時返回舊值。 – stephen