2

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

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

第一种方法是这样的:

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

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

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

4

1 回答 1

0

您需要多精确地知道发生了什么变化以及何时发生变化?如果您的要求很简单,您可以收听NSManagedObjectContextObjectsDidChangeNotification通知并检查userInfofor NSUpdatedObjectsKey。这些对象将通过它们的-changedValues方法返回更改。

东西是如何添加到articles收藏中的?简单地直接挂在那里而不是使用 KVO 可能是最简单的。

于 2012-11-04T23:09:26.907 回答