在我的 iOS 应用程序中,我创建了一个自定义区域,然后通过 CKFetchRecordOperation 获取该区域。之后,我让控制台打印获取的 CKRecordZone 的属性“capabilities”的值。值是7。怎么会这样?
根据文档,该值是枚举类型CKRecordZoneCapabilities,它只有值1 << 0和值1 << 1。所以,我不知道为什么值可以是7。
在我的 iOS 应用程序中,我创建了一个自定义区域,然后通过 CKFetchRecordOperation 获取该区域。之后,我让控制台打印获取的 CKRecordZone 的属性“capabilities”的值。值是7。怎么会这样?
根据文档,该值是枚举类型CKRecordZoneCapabilities,它只有值1 << 0和值1 << 1。所以,我不知道为什么值可以是7。
根据 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)。您的区域具有所有可用功能。