ios - CloudKit:查询索引(recordID.recordName)

标签 ios iphone xcode cloudkit ckquery

我正在尝试弄清楚如何使用 Objective-C 在 cloudkit 中查询我的记录索引。我构建了一个查询来获取我的所有记录:

CKContainer *container = [CKContainer containerWithIdentifier:containerID];
CKDatabase *publicDatabase = [container publicCloudDatabase];
CKQuery *query = [[CKQuery alloc] initWithRecordType:recordType
                                           predicate:[NSPredicate predicateWithFormat:@"TRUEPREDICATE"]];
[publicDatabase performQuery:query
                inZoneWithID:nil
           completionHandler:^(NSArray *results, NSError *error)
 {

     if (!error)
     {
     NSLog(@"results query %@", results);

     }

     else
     {
         NSLog(@"FETCH ERROR: %@", error);
     }
 }];

但是我需要获取每条记录的索引。大家知道怎么只能查询所有记录的索引吗?

非常感谢你的帮助

最佳答案

使用 CKQueryOperation 代替 CKQuery。然后您可以设置 desiredKeys 属性以将结果限制为仅 id。你可以使用类似的东西:

    CKContainer *container = [CKContainer containerWithIdentifier:containerID];
    CKDatabase *publicDatabase = [container publicCloudDatabase];
    CKQuery *query = [[CKQuery alloc] initWithRecordType:recordType
                                               predicate:[NSPredicate predicateWithFormat:@"TRUEPREDICATE"]];
    CKQueryOperation *queryOp = [[CKQueryOperation alloc] initWithQuery:query];
    queryOp.desiredKeys = @[@"record.recordID.recordName"];
    queryOp.recordFetchedBlock = ^(CKRecord *record)
    {
        // do something...
    };

     queryOp.queryCompletionBlock = ^(CKQueryCursor *cursor, NSError *error)
    {
        // do something else...
    };

    queryOp.resultsLimit = CKQueryOperationMaximumResults;
    [publicDatabase addOperation:queryOp];

关于ios - CloudKit:查询索引(recordID.recordName),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27223957/

相关文章:

iphone - UITabBarItem appearance -setTitleTextAttributes 不断记录 "state = 1 is interpreted as UIControlStateHighlighted"?

iphone - AVPlayer 不在后台转发流媒体轨道

objective-c - 如何在 xcode 之外运行 objective-c 控制台应用程序(带有库)?

xcode - 邀请您的 facebook、twitter、gmail friend 控制 ios 应用程序?

ios - 通过 webview 为 iOS 应用程序付款(例如,用于 iOS 或信用卡的 PayPal API)会被苹果应用程序商店拒绝吗?

ios - 使用核心图形和核心动画创建包含圆圈的动画

iphone - 用于检测应用统计信息的 iOS 库

iphone - sqlite3数据库文件的正确位置是什么?

iOS 应用提交 : missing 64-bit support

iphone - 调整 UIPickerView 的大小