我正在阅读NS_ENUM & NS_OPTIONS。作者说:
如果您想在定位以前版本的时使用任一宏 iOS或OS X,您可以简单地内联:
#ifndef NS_ENUM #define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type #endif
为什么你不能在低于iOS 6(< iOS 6)的操作系统上使用这两个宏?它们只是宏,因此独立于iOS版本,但与编译器(预处理器)功能相关。我在文档中找不到任何内容。
有任何提示吗?
答案 0 :(得分:2)
我同意文章中的措辞有点令人困惑,因为它听起来这个功能与运行时有关。但你是对的,它不依赖于iOS版本;它只是一种语言功能。
我认为文章真正想说的是,如果您使用较旧版本的iOS SDK(例如Xcode 4.4)编译您的项目,那么这些宏将不会存在并且您将会需要手动定义它们才能使用它们。但是,如果您使用的是已经为您定义宏的最新Xcode,即使您定位的是旧版iOS,也可以使用这些宏。