如何查询CloudKit中用户数组创建的记录?

时间:2014-12-11 17:10:10

标签: ios cloudkit

假设我使用CloudKit的发现功能来获取CKDiscoveredUserInfo数组。从这里我可以得到一个CKRecordID对象数组,代表每个发现用户的userRecordID。

我想查询这些用户创建的所有CKRecord对象的记录类型。

执行此查询的代码是什么样的?是否需要创建涉及creatorUserRecordID的谓词或者是否需要不同的方法?

1 个答案:

答案 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)