【问题标题】:Reading CloudKit records after saving it保存后读取 CloudKit 记录
【发布时间】:2015-09-13 18:41:21
【问题描述】:

我使用- (void)saveRecord:(CKRecord *)record completionHandler:(void (^)(CKRecord *record, NSError *error))completionHandler; 函数创建了一条 CloudKit 记录。

然后我在 saveRecord 的 completionHandler 中使用 - (void)performQuery:(CKQuery *)query inZoneWithID:(CKRecordZoneID *)zoneID completionHandler:(void (^)(NSArray /* CKRecord */ *results, NSError *error))completionHandler; 获取所有此类记录。但是在这个查询的结果中,没有我之前添加的记录。

然后,当我在一段时间后再次执行查询时,我拥有所有记录,包括我刚刚添加的记录。我现在怎么知道我刚刚添加的记录已经在数据库中了。它不应该已经在完成处理程序中可用吗?

【问题讨论】:

    标签: objective-c cloudkit ckrecord


    【解决方案1】:

    没有理由在完成处理程序中查询已保存的记录。 saveRecord:completionHandler: 的完成处理程序在成功时为您提供保存的记录,否则为您提供错误。

    顺便说一句 - 查询失败的原因是因为你做得太早了。上传和索引保存的记录需要一点时间。这就是为什么您需要使用完成处理程序的参数而不是这么快执行查询的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2014-08-27
      • 2014-12-28
      • 1970-01-01
      • 2014-09-07
      • 2018-03-01
      • 1970-01-01
      相关资源
      最近更新 更多