2016-01-22 71 views
2

在我的iOS应用程序中,我创建了一个自定义区域,然后通过CKFetchRecordOperation获取区域。在那之后,我让控制台打印获取的CKRecordZone的属性“capabilities”的值。值是7.这怎么可能?为什么CKRecordZone对象的属性“capabilities”的值等于7?

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

+3

猜测:必须有私人功能,没有透露在SDK中。 – trojanfoe

回答

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

相关问题