0

查看文档: https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html

我看到NSDataWritingFileProtectionComplete“在 OS X v10.8 及更高版本中可用”但是当我尝试在我的代码中使用它时出现编译错误。检查 NSData 标头,我发现此功能仅在 iOS 中可用:

NSDataWritingFileProtectionComplete NS_ENUM_AVAILABLE_IOS(4_0)

我做错了什么或文档不正确?

4

1 回答 1

2

查看 MacOS 10.8 SDK 中定义的枚举,我看到:

typedef NS_OPTIONS(NSUInteger, NSDataWritingOptions) {
    NSDataWritingAtomic = 1UL << 0, // Hint to use auxiliary file when saving; equivalent to atomically:YES
    NSDataWritingWithoutOverwriting NS_ENUM_AVAILABLE(10_8, 6_0) = 1UL << 1, // Hint to return prevent overwriting an existing file. Cannot be combined with NSDataWritingAtomic.

    NSDataWritingFileProtectionNone NS_ENUM_AVAILABLE_IOS(4_0)                                  = 0x10000000,
    NSDataWritingFileProtectionComplete NS_ENUM_AVAILABLE_IOS(4_0)                              = 0x20000000,

" NS_ENUM_AVAILABLE_IOS" 是一个扩展为

 #define NS_ENUM_AVAILABLE_IOS(_ios) __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_##_ios)

__MAC_NA”位表示“不适用”,这意味着文档当前是错误的。此功能仅在 iOS 中可用。

您应该就此向 Apple 提交文档错误。

于 2013-01-11T09:20:04.687 回答