我需要创建一个CKQuery谓词包含记录引用的位置,而不是记录的字段.
像这样
let query = CKQuery(recordType: "OUP", predicate: NSPredicate(format: "o = %@", "FF4FB4A9-271A-4AF4-B02C-722ABF25BF44")
Run Code Online (Sandbox Code Playgroud)
我如何设置oCKReference,而不是字段!
我收到此错误:
字段"o"的查询谓词中的字段值类型不匹配
Sen*_*ful 12
您可以使用带有或不带CKReference的CKRecord或CKRecordID来匹配关系.
CKRecord:
let predicate = NSPredicate(format: "artist == %@", artist)
Run Code Online (Sandbox Code Playgroud)
CKRecordID:
let predicate = NSPredicate(format: "artist == %@", artistID)
Run Code Online (Sandbox Code Playgroud)
CKRecord与CKRecord:
let recordToMatch = CKReference(record: artist, action: CKReferenceAction.None)
let predicate = NSPredicate(format: "artist == %@", recordToMatch)
Run Code Online (Sandbox Code Playgroud)
CKReference与CKRecordID:
let recordToMatch = CKReference(recordID: artistID, action: CKReferenceAction.None)
let predicate = NSPredicate(format: "artist == %@", recordToMatch)
Run Code Online (Sandbox Code Playgroud)
Ján*_*nos 10
我发现CKQuery类的参考答案,或者至少一个示例演示如何使用CKReference在CKQuery:
CKReference* recordToMatch = [[CKReference alloc] initWithRecordID:employeeID action:CKReferenceActionNone];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"employee == %@", recordToMatch];
Run Code Online (Sandbox Code Playgroud)
要匹配链接到您知道其ID的其他记录的记录,请创建一个与包含引用对象的字段匹配的谓词,如清单1所示.在该示例中,记录的employee字段包含指向另一个记录的CKReference对象.执行查询时,如果本地创建的CKReference对象中的ID与记录的指定字段中找到的ID相同,则会发生匹配.
| 归档时间: |
|
| 查看次数: |
3410 次 |
| 最近记录: |