0
我有一個recordID.recordName(在這個例子中是singleID),我想查詢queryOp;經過一番搜索和實驗之後,我設法將這些代碼放在一起......這很有效,但它確實是正確的,也許有一條較短的路徑。QueryOp with recordID
CKRecordID *wellKnownIDx = [[CKRecordID alloc] initWithRecordName:singleID];
CKReference *singleREX = [[CKReference alloc] initWithRecordID:wellKnownIDx action:CKReferenceActionDeleteSelf];
CKDatabase *publicDatabase = [[CKContainer containerWithIdentifier:@"iCloud.blah"] publicCloudDatabase];
NSPredicate *predicatex = [NSPredicate predicateWithFormat:@"recordID == %@",singleREX];
CKQuery *query = [[CKQuery alloc] initWithRecordType:@"Courses" predicate:predicatex];
CKQueryOperation *queryOp =[[CKQueryOperation alloc] initWithQuery:query];
queryOp.desiredKeys = @[@"record.recordID.recordName"];
queryOp.resultsLimit = 1;
queryOp.recordFetchedBlock = ^(CKRecord *results)
{
NSLog(@"Student Found %@",results.recordID.recordName);
};
queryOp.queryCompletionBlock = ^(CKQueryCursor *cursor, NSError *error)
{
NSLog(@"CKQueryCursor error %@", error);
};
[publicDatabase addOperation:queryOp];