使用CloudKit修改数据

时间:2015-01-14 23:55:46

标签: ios save cloudkit ckrecord

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

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

如果我只修改一条记录而不是所有记录,我仍然会打电话给CKModifyRecordsOperation? 如何做到这一点的任何线索? 我一直在使用[self.cloudManager saveRecord:object];,但修改记录后这不起作用。

1 个答案:

答案 0 :(得分: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
      }];
   }
}];

请考虑阅读this article以获取更多详细信息。