假设我使用CloudKit的发现功能来获取CKDiscoveredUserInfo数组。从这里我可以得到一个CKRecordID对象数组,代表每个发现用户的userRecordID。
我想查询这些用户创建的所有CKRecord对象的记录类型。
执行此查询的代码是什么样的?是否需要创建涉及creatorUserRecordID的谓词或者是否需要不同的方法?
答案 0 :(得分:3)
首先必须创建一个CKReference对象数组,如下所示:
var records:[CKReference] = []
然后在回调中为用户添加CKReference对象,代码如下:
for user in users {
records.add(CKReference(recordID: user.userRecordID, action: CKReferenceAction.DeleteSelf))
}
然后你可以为这样的查询创建一个谓词:
NSPredicate(format: "creatorUserRecordID in %@", records)