CloudKitでは、バッチ処理で大量のレコードを保存しようとしました。しかし、私のアプリは、次のエラーでクラッシュした:CloudKitのバッチ処理結果が「限界超過」
Error pushing local data: <CKError 0x15a69e640: "Limit Exceeded" (27/1020); "Your request contains 561 items which is more than the maximum number of items in a single request (400)">
これは私のコードです:私は、レコードを取得するために取得した場合
CKModifyRecordsOperation *modifyRecordsOperation = [[CKModifyRecordsOperation alloc] initWithRecordsToSave:localChanges recordIDsToDelete: localDeletions];
modifyRecordsOperation.savePolicy = CKRecordSaveAllKeys;
modifyRecordsOperation.modifyRecordsCompletionBlock = ^(NSArray *savedRecords, NSArray *deletedRecordIDs, NSError *error) {
if (error) {
NSLog(@"[%@] Error pushing local data: %@", self.class, error);
}
};
[privateDatabase addOperation:modifyRecordsOperation];
、すべてがCKQueryOperation
でresultsLimit
を設定することにより得ることができるようです。
https://stackoverflow.com/questions/24191999/cloudkit-count-records
https://forums.developer.apple.com/thread/11121
私はCKModifyRecordsOperation
を使用してバッチ処理で大量のレコードを保存したい場合は、制限を解消する方法はありますか?