Причина существования CKQueryOperation, когда существует CKQuery

Помимо возможности связывать различные CKQuerys и возможности устанавливать предел для получения результатов, зачем еще нужен CKQueryOperation? Это в основном те две функции это? Потому что я просто не знаю, в чем причина CKQueryOperation.

2 ответа

Решение

CKQueryOperation Объект - это конкретная операция, которую вы можете использовать для выполнения запросов к базе данных. Операция запроса берет параметры запроса, которые вы предоставляете, и применяет эти параметры к указанной базе данных и зоне, доставляя любые совпадающие записи асинхронно к предоставленным вами блокам.

NSObject-> NSOperation-> CKOperation-> CKDatabaseOperation-> CKQueryOperation

Запросы ограничены записями в одной зоне. Для новых запросов вы указываете зону при инициализации объекта операции запроса. Для запросов на основе курсора курсор содержит информацию о зоне. Для поиска записей в нескольких зонах необходимо создать отдельную CKQueryOperation Объект для каждой зоны, которую вы хотите найти, хотя вы можете инициализировать каждую из них с одинаковыми CKQuery объект.

Подпрограммы CK для удобства очень хороши для того, что они есть; введение в CloudKit, но в нескольких коротких программах вы обнаружите, что их назначение имеет серьезные ограничения.

С CKOperations вы вносите изменения, такие как изменения в таких вещах, как qualityofservice, о котором вы хотите / заботитесь, и отслеживаете их выполнение с гораздо большим контролем, чем при использовании методов CKconvenience.

Само собой разумеется, что, будучи вынужденным использовать CKoperations для ведения записей, вы можете захотеть структурировать, использовать одни и те же методы в своем коде для всего приложения.

Другие вопросы по тегам