CKOperation
CKOperation
класс является абстрактным базовым классом для всех операций, выполняемых против базы данных CloudKit. Все объекты операции CloudKit убывают от этого класса, обеспечивающего инфраструктуру для выполнения задач против одного из контейнеров Вашего приложения. Не разделяйте на подклассы или создавайте экземпляры этого класса непосредственно. Вместо этого создайте экземпляры одного из его конкретных подклассов.
Используйте свойства этого класса для конфигурирования поведения объекта операции прежде, чем представить его очереди работы или выполнить его непосредственно. Операции CloudKit включают связь с серверами iCloud, чтобы отправить и получить данные. Свойства этого класса позволяют Вам сконфигурировать поведение тех сетевых операций гарантировать лучшую производительность для Вашего приложения.
Наследование
Оператор импорта
Swift
import CloudKit
Objective C
@import CloudKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Контейнер для использования для работы.
Объявление
Swift
var container: CKContainer!
Objective C
@property(nonatomic, strong) CKContainer *container
Обсуждение
Контейнер устанавливает контекст для того, где работа должна выполнить свою работу.
addOperation:
метод обоихCKContainer
иCKDatabase
классы неявно устанавливают значение этого свойства к их контейнеру.При выполнении работы сами, или непосредственно или использование пользовательской очереди работы, рекомендуется установить значение этого свойства явно. Если значение
nil
при выполнении работы объект операции неявно выполняется против контейнера приложения по умолчанию.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
Булевская переменная, указывающая, могут ли результаты работы быть поставлены к приложению в фоновом режиме.
Объявление
Swift
var usesBackgroundSession: Bool
Objective C
@property(nonatomic, assign) BOOL usesBackgroundSession
Обсуждение
Когда установлено в
YES
true
, работа использует фонNSURLSession
объект упростить связь с сервером. Используя фоновый сеанс объект позволяет системе управлять передачей данных к и от сервера и рекомендуется. Даже если приложение приостановлено или завершено, фоновый сеанс также позволяет операциям передачи продолжаться. В таком случае загруженные данные кэшируются локально. Когда приложение повторно запускает и выбирает записи, работа выборки получает локально кэшированные данные, если это все еще допустимо.Значение по умолчанию этого свойства обычно
YES
true
. Фактическое значение по умолчанию основывается на значении вqualityOfService
свойство объекта операции. Когда то свойство установлено вNSOperationQualityOfServiceBackground
, который является значением по умолчанию, значение этого свойстваYES
true
. При установке его в какое-либо другое значение значение по умолчанию становитсяNO
false
. При присвоении значения этому свойству явно объект операции уважает значение, которое Вы устанавливаете.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.
-
allowsCellularAccess allowsCellularAccess
СвойствоБулево значение, указывающее, может ли объект операции отправить данные по сети ячейки.
Объявление
Swift
var allowsCellularAccess: Bool
Objective C
@property(nonatomic, assign) BOOL allowsCellularAccess
Обсуждение
Когда Вы отправляете или получаете много записей, или когда Вы отправляете записи с большими активами, Вы могли бы установить это свойство в
NO
false
избегать использовать слишком много сотовой пропускной способности данных пользователя. Для операций, включающих только несколько записей, хорошо оставлять этот набор свойствYES
true
, который является значением по умолчанию.Когда это свойство установлено в
NO
false
, если Wi-Fi не доступен, работа обычно выполняется, но перестала работать.Оператор импорта
Objective C
@import CloudKit;
Swift
import CloudKit
Доступность
Доступный в OS X v10.10 и позже.