0

CloudKit で変更したいデータがあります。私はこの質問 ( Saving Modified Data in CloudKit ) を見つけ、それは CKModifyRecordsOperation を指していますが、これに慣れていないので、より多くのガイダンスを探しています。私は自分のオブジェクトを次のように設定しています:

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

すべてではなく 1 つのレコードのみを変更する場合でも、CKModifyRecordsOperation を呼び出しますか? これがどのように行われるかの手がかりはありますか?私は使用してきましたが[self.cloudManager saveRecord:object];、レコードを変更すると、これは機能しません。

4

1 に答える 1

0

個々のレコードに加えた変更を取得、変更、および保存できます。

以下のコード スニペットは、アートワーク レコードを取得し、日付属性値を変更してデータベースに保存する方法を示しています。

// 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 に答える