2

我想将用户偏好存储在附加到用户公共用户记录的 CloudKit 中。首选项可以是私人记录或共享记录(由其他用户共享)。

我可以使用 CKReference 来存储对共享记录的引用吗?如果可以,我如何确定存储的 CKReference 是引用私有数据库还是公共数据库?

目前,如果我将 CKReference 存储到私有记录,那么我可以查询私有数据库以检索记录,但是如果我将 CKReference 存储到共享记录,那么我如何确定要查询哪个数据库。

我可以使用 CKReference 跨数据库链接,还是必须使用记录名称之类的东西来搜索它并存储一个单独的引用来指示它是私有记录还是共享记录?

编辑:

好的,阅读文档是值得的,但我花了一段时间才找到我需要的解释,这是文档的摘录

当您不能使用 CKReference 对象来引用记录时,您也可以使用记录 ID。引用仅在数据库的单个区域内有效。要引用当前区域或数据库之外的对象,请将字符串保存在记录的 CKRecordID 和 CKRecordZoneID 对象中。当您想稍后检索记录时,请使用这些字符串重新创建记录和区域 ID 对象,以便您可以获取记录。

https://developer.apple.com/documentation/cloudkit/ckrecordid

4

1 回答 1

3

好的,阅读文档是值得的,但我花了一段时间才找到我需要的解释,这是文档的摘录

当您不能使用 CKReference 对象来引用记录时,您也可以使用记录 ID。引用仅在数据库的单个区域内有效。要引用当前区域或数据库之外的对象,请将字符串保存在记录的 CKRecordID 和 CKRecordZoneID 对象中。当您想稍后检索记录时,请使用这些字符串重新创建记录和区域 ID 对象,以便您可以获取记录。

https://developer.apple.com/documentation/cloudkit/ckrecordid

于 2018-04-04T01:15:20.640 回答