3

我正在开发一个购物清单应用程序,在一些情况下,我需要注意对实体的更改,并通过对其他实体进行更改来做出响应。例如:

添加新的商店实体时,我需要创建相关的过道实体。

当一个食物的数量变为0或>0时,我需要在该项目上设置一个相关的状态标志(ftr,标志有两个以上的状态,我不能只是放下标志并测试为0) .

根据我目前所读到的内容,选择似乎是在使用键值观察和注册 NSManagedObjectContextObjectsDidChangeNotification 之间。我不确定哪个更适合我的场景(或者我是否应该覆盖相关实体类中的适当方法)。任何关于何时使用这些的指针和/或文档将不胜感激。

4

2 回答 2

3

如果标志是数量信息的一种派生属性,那么您最好的方法可能是覆盖托管对象子类中数量的设置器并在那里更新标志。由于标志是模型属性,因此在模型中而不是在视图控制器或其他使用 KVO 或响应通知的非模型对象中对其值负责是有意义的。

于 2012-09-14T15:52:05.267 回答
0

您可以使用NSFetchedResultsController代替通知。此外,您可以修改您的实体以使用类方法来添加这些新记录,并管理您需要进行的任何其他修改。

于 2012-09-14T15:23:55.607 回答