【发布时间】:2014-12-21 19:25:44
【问题描述】:
当我想从私人数据库中获取记录时,它会显示这个错误:
传递给 CKFetchRecordsOperation 的意外记录 ID:CKReference:0x7fb691c1c300; 8BBDA567-D00A-4603-91A2-D436677F3952:(_defaultZone:__defaultOwner__)
我不知道为什么。我参考该“所有者”记录从我之前获取的记录中获取了该记录 ID。所以我想从我的参考属性中获取那个记录ID。
我做错了什么吗?
这是我的代码:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"creationDate > %@", upToDate];
CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Car" predicate:predicate];
CKContainer *container = [CKContainer defaultContainer];
CKDatabase *privateDB = [container privateCloudDatabase];
[privateDB performQuery:query inZoneWithID:nil completionHandler:^(NSArray*results, NSError*error){
for (CKRecord*carRecord in results) {
CarModel *car = [CarModel new];
CKRecordID *ownerID = [record objectForKey:@"owner"];
[privateDB fetchRecordWithID:ownerID completionHandler:^(CKRecord *record, NSError*error){
// here i expect record with recordID same as recordID in my reference attribute
}
奇怪的是,当我在仪表板中搜索时,我的错误消息中的 8BBDA567-D00A-4603-91A2-D436677F3952 是正确的 ID。
还有其他获取“所有者”记录的方法吗?
【问题讨论】:
标签: objective-c xcode cloudkit