为什么CKRecordZone对象的属性“capability”的值等于7?

时间:2016-01-22 14:07:16

标签: ios cloudkit ckrecordzone

在我的iOS应用中,我创建了一个自定义区域,然后通过CKFetchRecordOperation获取了该区域。之后,我让控制台打印获取的CKRecordZone的属性“功能”的值。值是7.怎么可能?

根据文档,该值是枚举类型CKRecordZoneCapabilities,其仅具有值1<< 0和值1<<所以,我不知道为什么价值可以是7。

1 个答案:

答案 0 :(得分:0)

根据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)。您的区域已具备所有可用功能。