2015-08-01 2 views
1

я использую:При вызове CKModifyRecordsOperation я получаю сообщение об ошибке: CKError: «Invalid Arguments» (12). Что это значит и что я могу с этим поделать?

CKModifyRecordsOperation *cKModifyRecordsOperation = [[CKModifyRecordsOperation alloc] initWithRecordsToSave:recordsToAddOrSave recordIDsToDelete:recordsIDsToDelete]; 
cKModifyRecordsOperation.savePolicy = CKRecordSaveChangedKeys; 
cKModifyRecordsOperation.modifyRecordsCompletionBlock = ^(NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error) { 
    if (error) 
    { 
     NSLog(error.description); 
    } 

Хотя это работает для некоторых типов записей, для конкретного типа записи теперь я получаю следующее сообщение об ошибке:

CKError 0x170844bc0: "Invalid Arguments" (12)

Это странно, потому что он работал раньше, даже для этот запись type.

Я проверил форумы и выполнил поиск Google, но не смог найти полезную информацию об этой ошибке в контексте CKModifyRecordsOperation.

ответ

0

Я не 100% уверен в этом, но это то, что я нашел в документации ChangedKeys:

A policy that saves only those fields of the record that actually changed, overwriting any values currently on the server. Unmodified fields are left untouched. 

Для меня это звучит как этот ключ только для изменения записи, не удаляя их ,

+0

спасибо. Я думаю, что ChangedKeys должен удалять записи на сервере, которые больше не существуют локально. Напротив, для CKRecordSaveAllKeys в документации указано: «Ключи, присутствующие только на сервере, остаются неизменными». – vomako

0

В случае, если кто-то окажется в том же месте, что и я, когда я использовал какой-то код, я получил тот же код ошибки при передаче CKRecordID вместо CKRecord в массив записей для изменения.

Возможно, это тоже ваша проблема?