我需要创建一个CKQuery,其中谓词包含记录的引用,而不是记录的字段。
像这样
let query = CKQuery(recordType: "OUP", predicate: NSPredicate(format: "o = %@", "FF4FB4A9-271A-4AF4-B02C-722ABF25BF44")如何设置o是一个CKReference,而不是字段!
我知道这个错误:
字段'o‘查询谓词中的字段值类型不匹配
发布于 2014-07-25 18:11:35
我在CKQuery class reference中找到了答案,或者至少有一个如何在CKQuery中使用CKReference的例子。
CKReference* recordToMatch = [[CKReference alloc] initWithRecordID:employeeID action:CKReferenceActionNone];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"employee == %@", recordToMatch];要匹配链接到ID不同的记录的记录,创建一个与包含引用对象的字段匹配的谓词,如清单1所示。在示例中,记录的employee字段包含指向另一条记录的CKReference对象。当查询执行时,当本地创建的CKReference对象中的ID与记录的指定字段中的ID相同时,就会发生匹配。
发布于 2015-07-11 16:33:17
您可以使用CKRecord或CKRecordID (有或没有CKReference )来匹配关系。
CKRecord:
let predicate = NSPredicate(format: "artist == %@", artist)CKRecordID:
let predicate = NSPredicate(format: "artist == %@", artistID)CKReference与CKRecord:
let recordToMatch = CKReference(record: artist, action: CKReferenceAction.None)
let predicate = NSPredicate(format: "artist == %@", recordToMatch)CKReference与CKRecordID:
let recordToMatch = CKReference(recordID: artistID, action: CKReferenceAction.None)
let predicate = NSPredicate(format: "artist == %@", recordToMatch)https://stackoverflow.com/questions/24961807
复制相似问题