我可以将对象图保存到 CloudKit 吗?

Posted

技术标签:

【中文标题】我可以将对象图保存到 CloudKit 吗?【英文标题】:Can I save an object graph to CloudKit? 【发布时间】:2015-01-22 00:58:48 【问题描述】:

我有一个模型 A 和模型 B 的参考列表。

除了创建A,每次创建列表中的每个B元素,然后保存引用列表之外,还有什么方法可以保存填充了B的A?

即使在单个关联的微不足道的情况下,保存也是复杂的而不是原子的。

【问题讨论】:

像 CoreData 的 Object Graph 这样的对象图,是的,github.com/CloudKitSpace/CKSIncrementalStore 【参考方案1】:

您必须先保存记录 A,因为您需要 recordId 来设置所有 B 记录的 CKReference 字段。然后您可以使用支持在一个操作中保存多个项目的CKModifyRecordsOperation将所有B记录保存在一个操作中。

【讨论】:

A 有一个 B 的参考列表。B 有没有办法指定它是 A 中列表的一部分?我认为对于1:N 关系,只有“1”方指定了关系。 啊。创建 A,创建 B,在 A 中分配 B,并使用 CKModifyRecordsOperation 一次性保存所有内容。这似乎工作正常。

以上是关于我可以将对象图保存到 CloudKit 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UIImage 保存到文档目录?

在 CloudKit 中保存对象数组

如何使用 Cloudkit 将字典(或任何其他复杂结构)保存到 iCloud 中?

如何使用一个存储过程保存对象图

除了锁定的对象之外,我可以将对象的更改保存到另一个 TR 吗?

CloudKit 记录保存进度