Field '___recordID' is not marked queryable

二次信任 提交于 2019-12-19 15:04:59

问题


I try to download all record with a specific recordType that recordID is not matches with a certain one.

But I get an error. Any idea? I thought I can mark as queryable only manually added fields.

<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!)))


回答1:


I found. possible to add metaindexes as well.




回答2:


You only need to manually set the Query index on ID if you choose NOT to use a predicate with your query. If you use a predicate on any self defined field name such as:

e.g.

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

you will not experience this issue.



来源:https://stackoverflow.com/questions/29142717/field-recordid-is-not-marked-queryable

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!