2016-01-22 75 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)。您的區域具有所有可用的功能。

相關問題