我想将用户首选项存储在附加到用户公共用户记录的CloudKit中。首选项可以是私人记录或共享记录(由其他一些用户共享)。
我是否可以使用CKReference存储对共享记录的引用,如果是,我如何确定存储的CKReference是指私有数据库还是公共数据库?
目前,如果我将CKReference存储到私有记录,那么我可以查询私有数据库以检索记录,但如果我将CKReference存储到共享记录,那么我该如何确定要查询的数据库。
我可以使用CKReference链接跨数据库,还是必须使用类似记录名称的内容来搜索它,还可以存储单独的引用来指示它是私有记录还是共享记录?
编辑:
好的,阅读文档是值得的,但需要一段时间才能找到我需要的解释,这里是文档的摘录
当您无法使用CKReference对象引用记录时,您也可以使用记录ID。引用仅在数据库的单个区域内有效。要引用当前区域或数据库之外的对象,请将字符串保存在记录的CKRecordID和CKRecordZoneID对象中。如果要稍后检索记录,请使用这些字符串重新创建记录和区域ID对象,以便您可以获取记录。
https://developer.apple.com/documentation/cloudkit/ckrecordid
答案 0 :(得分:1)
好的,阅读文档是值得的,但需要一段时间才能找到我需要的解释,这里是文档的摘录
当您无法使用CKReference对象引用记录时,您也可以使用记录ID。引用仅在数据库的单个区域内有效。要引用当前区域或数据库之外的对象,请将字符串保存在记录的CKRecordID和CKRecordZoneID对象中。如果要稍后检索记录,请使用这些字符串重新创建记录和区域ID对象,以便可以获取记录。
https://developer.apple.com/documentation/cloudkit/ckrecordid