Core Data 进阶:实体关系与数据迁移
1. Core Data 基础回顾
在之前的操作中,我们遇到了一个问题:某个属性依赖于其他值,当这些值发生变化时,该属性需要重新计算。为了解决这个问题,我们在 MythicalPerson 类中实现了一个小方法:
+ (NSSet *)keyPathsForValuesAffectingAwesomeness {
return [NSSet setWithObjects:@"divinity", @"power", @"goodness", nil];
}
这个方法名是根据访问器名称动态构建的。在这个方法中,我们返回了一组属性名称,这些属性是 awesomeness 属性所依赖的。通过这种方式,Core Data 会在应用程序生命周期的早期自动调用这个方法,并处理相关逻辑,使得当集合中的任何属性发生变化时,也会触发控制器更新与 awesomeness 属性绑定的对象。需要注意的是,方法签名中的加号表示 keyPathsForValuesAffectingAwesomeness 是一个类方法,而不是实例方法,这是 Cocoa 键值观察系统的一部分。
完成上述代码添加后,构建并运行应用程序,当拖动其他滑块时,绿色进度条就会相应改变。
2. Core Data 关系拓展
2.1 项目准备
为了进一步拓展数据模型,我们要对项目进行一些准备工作。首先,在 Fin
超级会员免费看
订阅专栏 解锁全文

927

被折叠的 条评论
为什么被折叠?



