【发布时间】:2014-02-20 03:38:45
【问题描述】:
举例:
我有一个实体User,还有一个实体Device。
User 与 Device 之间存在 To Many 关系,称为 devices。
Device 与此关系相反,称为user。
现在我收集、保存大量设备,例如一个网络服务,将它们合并成一个NSSet,然后我将它们绑定到一个特定的用户,所以我这样做了:
NSSet *collectedDevices = [API getSomeDevices];
someUser.devices = collectedDevices;
Core Data 会填充逆向 user 每个人的关系 Device 我吗? 它会观察关系的设置者吗?
背景:
我知道用于设置集合的 Core Data setter,但我想避免使用它们。我实际上是在使用 KVC 从 JSON 表示重建核心数据实体,没有硬编码的属性、关系,只是枚举它们的实体描述并设置匹配值。
【问题讨论】:
-
NSSet 是一组 NSManagedObjects 吗?
-
@k1th 是的。从服务器获取时,我在子上下文中创建了它们。
-
@MartinR 不,希望立即得到是/否的答案。
-
您需要尝试一下。我不认为这些关系会跨上下文工作。通常 Coredata 会创建反向关系(通过设计)——它在我更简单的应用程序中对我有用。关于@dynamic 属性和覆盖KVO 有一些有趣的提示:stackoverflow.com/questions/6685407/… stackoverflow.com/questions/6191160/… 你为什么不在相同的上下文中做呢?
-
@k1th 有些情况下我不想保留结果,只检查。这就是为什么我需要一个临时上下文。
标签: ios core-data relationship