Помимо возможности связывать различные CKQuery и возможность устанавливать предел для получения результатов, зачем еще нужно CKQueryOperation? В основном эти две функции? Потому что я просто не уверен, в чем причина CKQueryOperation.Причина существования CKQueryOperation, когда существует CKQuery
ответ
A CKQueryOperation
объект - конкретная операция, которую вы можете использовать для выполнения запросов к базе данных. Операция запроса принимает параметры запроса, которые вы предоставляете, и применяет эти параметры к указанной базе данных и зоне, обеспечивая асинхронное сопоставление записей, которые вы предоставляете.
NSObject-> NSOperation-> CKOperation-> CKDatabaseOperation-> CKQueryOperation
Запросы ограничены записями в одной зоне. Для новых запросов вы указываете зону при инициализации объекта операции запроса. Для запросов на основе курсора курсор содержит информацию о зоне. Чтобы искать записи в нескольких зонах, вы должны создать отдельный объект CKQueryOperation
для каждой зоны, которую вы хотите выполнить, хотя вы можете инициализировать каждый из них одним и тем же объектом CKQuery
.
Процедуры CKconvenience очень хороши для того, чем они являются; введение в CloudKit, но в течение нескольких коротких кивок программ, которые вы скоро обнаружите, их цель имеет некоторые серьезные ограничения.
С помощью CKOperations вы вносите изменения, такие как изменения в свойствах, которые вы хотите/заботитесь, и контролируете их выполнение с гораздо большим контролем, а затем у вас есть методы CKconvenience.
Возможно, само собой разумеется, что, будучи вынуждены использовать CKoperations для ведения записей, которые вы, возможно, захотите структурировать, используйте те же методы в своем коде на всем своем приложении.
* «Объект CKQuery управляет критериями, применяемыми при поиске записей в базе данных». * Запрос - это просто описание того, что нужно искать. CKQueryOperation позволяет ** выполнять ** запрос и получать результаты. – jtbandes