Почему значение свойства "возможности" объекта CKRecordZone равно 7?
В моем приложении для iOS я создал пользовательскую зону, а затем извлек ее с помощью CKFetchRecordOperation. После этого я позволил консоли вывести значение свойства "functions" извлеченного CKRecordZone. Значение равно 7. Как это может быть?
Согласно документации, значение имеет тип перечисления CKRecordZoneCapabilities, который имеет только значение 1 << 0 и значение 1 << 1. Итак, я не знаю, почему значение может быть 7.
1 ответ
Согласно источнику iOS 10 SDK (CKRecordZone.h), возможности следующие:
typedef NS_OPTIONS(NSUInteger, CKRecordZoneCapabilities) {
/* This zone supports CKFetchRecordChangesOperation */
CKRecordZoneCapabilityFetchChanges = 1 << 0,
/* Batched changes to this zone happen atomically */
CKRecordZoneCapabilityAtomic = 1 << 1,
/* Records in this zone can be shared */
CKRecordZoneCapabilitySharing NS_AVAILABLE(10_12, 10_0) = 1 << 2,
} NS_AVAILABLE(10_10, 8_0);
Таким образом, значение "7" кажется вполне приемлемым (1 + 2 + 4). Ваша зона обладает всеми доступными возможностями.