核心数据:观察嵌套属性

时间:2012-11-04 15:50:39

标签: cocoa core-data key-value-observing

我的核心数据模型中有一个实体类别。类别与文章有很多关系。文章有一个属性read,它是一个布尔值。

我想观察未读文章的数量(所以我可以在标题中显示)。

第一种方法是:

    [self.category addObserver:self forKeyPath:@"articles.@sum.read" options:NSKeyValueObservingOptionNew context:nil];

但这不起作用。我可以观察文章集合以查看是否添加了某些内容,并单独观察所有元素。我可以让这个工作,但我想知道是否有一个更简单的方法。任何提示?

(这可能是Using KVO to observe changes to a property on an object inside a collection in Objective-C的副本,但我仍然认为应该有更好的方法。)

1 个答案:

答案 0 :(得分:0)

如果您的要求非常简单,您可以收听NSManagedObjectContextObjectsDidChangeNotification通知并查看userInfo NSUpdatedObjectsKey。这些对象将通过-changedValues方法返回更改。

如何将事情添加到articles集合中?最简单的方法是直接挂在那里而不是使用KVO。