Jan*_*ker 10 macos cocoa objective-c ios cloudkit
我目前正在设计一个CloudKit基于同步的解决方案,我想知道最好的方法是保持列表(在我的情况下是一个数组)的云项(CKRecord对象)的顺序是一致的.
Apple建议不要保留对子对象的引用,而只是使用CKReference来自子对象的父对象引用父对象.如果您想根据其中一个属性(例如创建日期)查询项目,则可以正常工作,但如果您有一个由用户确定的订单则不行.
我提出了两种基于相同想法的不同方法:维护标识符清单以管理项目的位置.
1)同步具有标识符数组的额外记录(aka清单),每个标识符标识一个CKRecord对象(以及相应的本地模型对象).
2)创建一个父对象,该对象包含CKReference对其子对象的引用(对象)数组.此数组维护给定的顺序.
我觉得这不是解决这个问题的最好办法,我很高兴听到你的想法.
Apple确实建议不要保留对子对象的引用,但这并不意味着你不能只在你的对象中包含一个带有记录Id的数组.这些不必是CKReference对象.您可以只保存一个字符串值数组.
我认为你是对的,这将是维持排序顺序的最佳/最简单的方法.
另一种解决方案是创建链表.然后每条记录都需要引用下一条记录.更改订单时,您只需更改3条记录.1指向记录的记录,指向记录的新记录和记录本身.
| 归档时间: |
|
| 查看次数: |
811 次 |
| 最近记录: |