Измените данные с помощью CloudKit

У меня есть данные, которые я хочу изменить в CloudKit. Я нашел этот вопрос (Сохранение измененных данных в CloudKit) и он указывает на CKModifyRecordsOperation, но, будучи новичком в этом, я ищу дополнительные рекомендации. Я устанавливаю свой объект так:

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

Если я изменяю только одну запись, а не все, я все равно вызываю CKModifyRecordsOperation? Любые подсказки о том, как это делается? Я использовал [self.cloudManager saveRecord:object];, но с изменением записи это не работает.


person user3411663    schedule 14.01.2015    source источник


Ответы (1)


Вы можете получать, изменять и сохранять изменения, внесенные в отдельные записи.

Фрагмент кода ниже показывает, как получить запись 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
      }];
   }
}];

Рекомендуем прочитать эту статью для получения более подробной информации.

person Febri Valentino    schedule 15.01.2015
comment
Вы упомянули, что это относится к отдельным записям. Я пытаюсь разрешить другим изменять данные, созданные кем-то другим, но получаю «разрешение на запись не разрешено…». Есть ли для этого уникальный код модификации или это что-то, что я настраиваю на панели инструментов? - person user3411663; 16.01.2015
comment
Вы можете установить разрешения для панели инструментов для каждой записи. Если только создатель может изменить или кто-либо так далее. - person Mayo323; 23.01.2015