我在Swift 4中做这样的CKQuery:
CKQuery(recordType: package.recordType, predicate:
NSPredicate(format: "NOT (recordName IN %@)", package.recordNames as CVarArg))...and,我要得到这个CKError
CKError(_nsError: CKError 0x60000024dce0:“服务器拒绝请求”(15/2000);服务器消息=“未知字段'recordName'";uuid = BCD7C8DA-04B0-4422-8A24-F6479D234706;容器ID =”.“)
在查询recordName时是否使用特殊的密钥?
发布于 2017-09-19 05:17:41
在进一步研究之后,我发现您不能直接通过recordName进行查询,但是可以通过recordID进行查询。因此,与其比较字符串数组,不如构建一个CKRecordID数组并进行如下查询:
//- 1 - Build an array of CKRecordIDs
package.recordIDs = [CKRecordID(recordName: "..."), CKRecordID(recordName: "...")]
//- 2 - Set the predicate to use the `recordID` key
let pred = NSPredicate(format: "NOT (recordID IN %@)", package.recordIDs as CVarArg)
//- 3 - Set the query and drop your mic
CKQuery(recordType: package.recordType, predicate: pred)我希望这能帮到别人。
https://stackoverflow.com/questions/46290046
复制相似问题