用 CloudKit 修改数据

Modify data with CloudKit

我在 CloudKit 中有要修改的数据。我发现了这个问题 (Saving Modified Data in CloudKit),它指向 CKModifyRecordsOperation,但作为新手我正在寻找更多指导。我正在这样设置我的对象:

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

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

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

下面的代码片段显示了如何获取 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
      }];
   }
}];

考虑阅读 this article 了解更多详细信息。