0

我有想在 CloudKit 中修改的数据。我发现了这个问题(在 CloudKit 中保存修改的数据),它指向 CKModifyRecordsOperation,但是对此我很陌生,我正在寻找更多指导。我正在像这样设置我的对象:

[object setValue:number forKey:@"total"];

如果我只修改一条记录而不是全部,我还调用 CKModifyRecordsOperation 吗?关于如何完成的任何线索?我一直在使用[self.cloudManager saveRecord:object];,但修改记录这不起作用。

4

1 回答 1

0

您可以获取、修改和保存对单个记录所做的更改。

下面的代码片段显示了如何获取 Artwork 记录、更改日期属性值并将其保存到数据库中。

// Fetch the record from the database
CKDatabase *publicDatabase = [[CKContainer containerWithIdentifier:containerIdentifier] publicCloudDatabase];
CKRecordID *artworkRecordID = [[CKRecordID alloc] initWithRecordName:@"115"];
[publicDatabase fetchRecordWithID:artworkRecordID completionHandler:^(CKRecord *artworkRecord, NSError *error) {
   if (error) {
      // Error handling for failed fetch from public database
   }
   else {
      // Modify the record and save it to the database
      NSDate *date = artworkRecord[@"date"];
      artworkRecord[@"date"]; = [date dateByAddingTimeInterval:30.0 * 60.0];
      [publicDatabase saveRecord:artworkRecord completionHandler:^(CKRecord *savedRecord, NSError *saveError) {
         // Error handling for failed save to public database
      }];
   }
}];

考虑阅读本文以获取更多详细信息。

于 2015-01-15T03:13:02.040 回答