【发布时间】:2016-04-07 10:51:49
【问题描述】:
使用 Core Data,我有两个具有多对多关系的实体。所以:
Class A <<---->> Class B
这两种关系都设置为“有序”,因此我可以在 UITableView 中跟踪它们的顺序。效果很好,没问题。
我即将尝试用这个 Core Data 模型实现 iCloud,发现 iCloud 不支持有序关系,所以我需要以某种方式重新实现排序。
我已经对另一个具有一对多关系的实体进行了此操作,没有问题,我向实体添加了一个“订单”属性并将其订单信息存储在那里。但是对于多对多关系,我需要未知数量的订单属性。
我可以想到两种解决方案,但对我来说似乎都不理想,所以也许我遗漏了一些东西;
选项 1。我添加一个中间实体。该实体与两个实体具有一对多的关系,如下所示:
Class A <<--> Class C <-->> Class B
这意味着我可以在这个辅助实体中拥有单个 order 属性。
选项 2。我不是存储单个订单号的订单属性,而是存储一个字典,我可以存储我需要的任意数量的订单号,可能使用相应的对象(ID?)作为键和订单号作为值。
我不一定要寻找任何代码,因此任何想法或建议都将不胜感激。
【问题讨论】:
-
iCloud 同步的最佳方式...ensembles.io
-
那些对多的箭头不会被翻转吗?似乎每个排序实体都有一个对 A 类实例的引用和一个对 B 类实例的引用。那么 A 和 B 实体将有许多排序参考..
标签: objective-c core-data entity-relationship