ios - 键值观察与 NSManagedObjectContextObjectsDidChangeNotification

标签 ios core-data nsmanagedobjectcontext key-value-observing

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

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

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

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

最佳答案

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

关于ios - 键值观察与 NSManagedObjectContextObjectsDidChangeNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12417077/

相关文章:

ios - Swift UITabBarItem 作为 UIButton

iphone - Monotouch 检查当前平台

ios - 嵌套的 performBlock : on NSManagedObjectContext

iphone - 遍历从Core Data提取的请求数据时遇到错误

iphone - 一两个 managedObjectContext

ios - 我想在 IOS 中只显示一次登录屏幕

ios - 在后台创建的 NSManagedObject 在主线程上变成错误

iphone - 具有多个谓词的核心数据

iphone - 将本地 SQLite 数据库复制到 iPhone?

ios - 在 Swift 中从服务器播放视频文件