Field' ___ recordID'没有标记可查询

时间:2015-03-19 10:56:52

标签: ios cloudkit

我尝试下载具有特定recordType的所有记录,其中recordID与某个记录不匹配。

但是我收到了一个错误。任何的想法?我以为我只能手动添加字段标记为可查询。

<CKError 0x15df2a10: "Invalid Arguments" (12/2015); server message = "Field '___recordID' is not marked queryable"; uuid = ECDD0C97-550F-4DD5-942D-AF4DF8917EEB; container ID = "iCloud.com.kukodajanos.Movie-Buffs">

let query = CKQuery(recordType: "UserSetting", predicate: NSPredicate(format: "recordID != %@", CKRecordID(recordName: loggedInUserRecordName!)))

2 个答案:

答案 0 :(得分:19)

我找到了。也可以添加元指数。

enter image description here

答案 1 :(得分:0)

如果您选择不在查询中使用谓词,则只需要在ID上手动设置查询索引。如果在任何自定义字段名称上使用谓词,例如:

enter image description here

e.g。

let predicate = NSPredicate(format: "UserRecordID = %@", selectedUser!.userRecordID!.recordName)
let query = CKQuery(recordType: recordType, predicate: predicate)

你不会遇到这个问题。