从 CKRecord 获取 CKRecordZone

Fetching CKRecordZone from a CKRecord

场景:

我有一个 CKRecord 是我从服务器上获取的。该记录存在于自定义区域中,我 不知道 标识符并且没有 CKRecordZone 对象。

我需要调用 CKDatabase.perform(query:inZoneWith:completion:) 来获取数据库中的记录,这些记录是根共享记录的组成部分(需要这样的调用)但是没有 CKRecordZoneID(来自a CKRecordZone) 我被迫遍历共享数据库中的每个 CKRecordZone 并执行查询,直到找到匹配的记录。

总结:我想取一个 CKRecord 并找到它所在的 CKRecordZone。这可能吗? 是我的方法有缺陷吗,我可以在没有CKRecordZoneID的情况下执行query吗?

要查找给定记录的 CKRecordZoneIDrecordID 属性 很有帮助:

(record).recordID.zoneID 产生 CKRecordZoneIDCKRecord 存在于其中。