Получить большой набор, используя CKQueryOperation и CKReference
У меня есть CKReference, прикрепленный к 4000 записей, связанных с одним CKRecord. У них нет действий (CKReferenceActionNone).
Я хочу иметь возможность получить все эти записи, используя, CKQueryOperation с помощью NSPredicate следующим образом:
CKReference * recordToMatch = [[CKReference alloc] initWithRecordID: backupRecord.recordID action: CKReferenceActionNone]; NSPredicate * предикат = [NSPredicate предикат WithFormat:@"parentRecord == %@", recordToMatch];
Обычно, когда я использую CKQueryOperation, я могу зациклить его, используя CKQueryCursor, чтобы получить более 100 записей. Но используя CKReference, он работает сначала 100, а затем 200, но после этого курсор не возвращается.
Есть ли способ получить 4000 записей с помощью CKReference?
Большое спасибо!
1 ответ
Я не уверен, является ли это точной причиной вашей проблемы с курсором, но существует ограничение в 750 ссылок на запись.
Существует жесткое ограничение на количество ссылок, которое может иметь любая запись. Это ограничение установлено в 750 ссылок. Любая попытка превысить это ограничение приведет к ошибке на сервере.
Вы можете увидеть это документально здесь: https://developer.apple.com/documentation/cloudkit/ckrecord/reference