Как обновить CKRecord с помощью CKModifyRecordsOperation? - PullRequest
0 голосов
/ 09 апреля 2020

Я знаю, что для обновления CKRecord с идентификатором просто используйте fetchRecordWithID и используйте CKModifyRecordsOperation, как показано ниже.

publicData.fetchRecordWithID(recordIDToSave) { (record, error) in

if let recordToSave =  record {

    //Modify the record value here
    recordToSave.setObject("value", forKey: "key")

    let modifyRecords = CKModifyRecordsOperation(recordsToSave:[recordToSave], recordIDsToDelete: nil)
    modifyRecords.savePolicy = CKRecordSavePolicy.AllKeys
    modifyRecords.qualityOfService = NSQualityOfService.UserInitiated
    modifyRecords.modifyRecordsCompletionBlock = { savedRecords, deletedRecordIDs, error in
        if error == nil {
            print("Modified")
        }else {
            print(error)
        }
    }
        publicData.addOperation(modifyRecords)
    } else {
        print(error.debugDescription)
    }
}

Но можно ли обновить запись без fetchRecord?

1 Ответ

0 голосов
/ 11 апреля 2020

Я нашел решение.

Просто задайте политику сохранения операции CKModifyRecordsOperation в changeKeys.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...