Я пытаюсь использовать CKQueryOperation для этого:Можно ли получить количество записей, соответствующих CKQuery из CloudKit?
CKQueryOperation *o = [[CKQueryOperation alloc] initWithQuery:query];
[o setDesiredKeys:@[]];
Но она по-прежнему возвращает много данных, что мне не нужно в данный момент
<CKRecord: 0x79881a50; recordType=Comment, recordID=CBB7B269-47AH-406E-8934-682D31501778:(_defaultZone:__defaultOwner__), recordChangeTag=i1x8j1ey, values={
}>
{
creatorUserRecordID -> <CKRecordID: 0x7966e9d0; _e5b178bde573ba6fee336b9ed8:(_defaultZone:__defaultOwner__)>
lastModifiedUserRecordID -> <CKRecordID: 0x7966cdd0; _e5b178bd3e9e7a6e336b9f34ed8:(_defaultZone:__defaultOwner__)>
creationDate -> 2014-10-31 07:20:45 +0000
modificationDate -> 2014-10-31 07:20:45 +0000
modifiedByDevice -> iPhone Simulator
}
мне нужно только количество записей.
Этого было уже сказано: http://stackoverflow.com/questions/24191999/cloudkit-count-records –
@EdwinVermeer, я не хочу устанавливать ограничения, я хочу знать, сколько записей. – AlKozin
Запросы агрегирования в CloudKit невозможны. Поэтому вы должны запрашивать все записи и подсчитывать их. Этот комментарий о настройке ограничения заключается в том, чтобы показать, что вы можете контролировать количество возвратов набора облаков записей. Потому что, если вы запрашиваете cloudkit, Apple решит, сколько записей он вернет. Когда вы выполняете запрос, есть вероятность, что не все записи будут возвращены. ЗапросCompletionBlock возвращает курсор. Вам нужно будет продолжить чтение, начиная с этого курсора. –