找出 CKRecord 属于哪个数据库

Find out what database a CKRecord belongs to

我如何(或,可以)找出 CKRecord 属于哪个 iCloud 数据库?

此时应该有四种可能:

CKRecord 中没有任何内容可以直接告诉您它来自哪个数据库。但是你总是从记录的来源知道数据库。

如果您收到订阅通知或获取更改,则您知道来自 CKQueryNotificationCKRecordZoneNotification 或新的 CKDatabaseNotification.

的数据库

当然,如果您要创建一个新的 CKRecord,还没有数据库,但您必须知道您打算使用哪个数据库(public、私有的或新的共享的)。

当然,如果您从执行查询中得到 CKRecord,您就知道查询操作使用了哪个数据库。

如果您需要保留记录的本地副本,稍后您需要加载该本地副本并将其发送到正确的数据库,那么您的本地副本必须包含告诉您它属于哪个数据库的数据。由于您在获取记录时始终可以确定 CKRecord 的来源,因此这不是问题。