2014-12-05 70 views
0

随着公共数据库此查询:无法查询用户CKRecords

let pred = NSPredicate(format: "family == %@", ref) 
let query = CKQuery(recordType: "Users", predicate: pred) 

我没有得到任何结果,即使我有两个Users记录此引用关联。

即使我尝试:

let pred = NSPredicate(format: "TRUEPREDICATE") 
let query = CKQuery(recordType: "Users", predicate: pred) 

哪个应该返回所有Users记录,我什么也没得到。虽然我知道Apple可能不需要后者,但是我也无法查询特定用户的情况吗?

我已经搜遍了文档,但目前有点缺乏,无法找到任何有关此的条件。 Users是一个特殊的记录类型,所以也许答案只是“不,你不能查询用户”。

谢谢。

+0

您可以查询...但返回所有用户:'discoverAllContactUserInfosWithCompletionHandler'https://developer.apple.com/library/ios/documentation/CloudKit/Reference/CKContainer_class/index.html – TonyMkenu 2014-12-08 13:34:34

回答

2

用户记录显式不可查询。您必须使用CKDiscoverUserInfosOperation,CKDiscoverAllContactsOperation-[CKContainer discoverUserInfo...]-[CKContainer discoverAllContactUserInfosWithCompletionHandler]来查找用户记录。

如果您需要查询用户的属性,则需要创建新的记录类型并将属性存储在那里。您可以在自定义记录上使用creatorUserRecordID将该值与用户关联。