什么是 CloudKit RecordID

What is a CloudKit RecordID

在开始更多地使用 CloudKit 时,我才意识到我实际上并不知道 RecordID 是什么...

我正在查看 CloudKit 仪表板,我看到 RecordTypes、RecordName 等,但没有看到 RecordID。 iOS Dev 库经常提到 RecordID,但从未真正说明它是什么或在哪里可以找到它。

我想我只是很笨,但我想不通。

每条记录都有一个记录Id,是一个CKRecordID实例,class有一个name属性。如果您不指定名称,新记录将有一个名称为 GUID 的记录 ID。

如果你知道它,你只能用记录 Id 获取,并且在大多数情况下你会让 Cloud Kit 为你创建,你不会将它存储在本地,所以你不会知道它。

每个 CKRecord 都有一堆元数据,其中包括记录 ID。查看列表 here

这是仪表板的快照,您认出了它。您可以接受 CloudKit 给您的记录 ID 或生成您自己的记录 ID [尽管它们在您的数据库实例中必须是唯一的]。这里是截图

这里有一个小代码片段,向您展示了如何创建自己的 ID,使用的方法与我怀疑 CloudKit 所使用的相同。

 let uniqueReference = NSUUID().UUIDString
 let uniqueRecordID = CKRecordID(recordName: uniqReference)
 let newRecord = CKRecord(recordType: "Collection", recordID:uniqueRecordID)