【问题标题】:NS_ENUM & NS_OPTIONS: targeting a previous version of iOS 6 or OS X MLNS_ENUM 和 NS_OPTIONS:针对 iOS 6 或 OS X ML 的早期版本
【发布时间】:2015-05-15 02:45:37
【问题描述】:

我正在阅读有关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 (

对此有什么提示吗?

【问题讨论】:

    标签: objective-c compilation ios6 macros c-preprocessor


    【解决方案1】:

    我同意文章中的措辞有点令人困惑,因为它听起来这个功能是依赖于运行时的。但你是对的,它不依赖于 iOS 版本;这只是一个语言功能。

    我认为这篇文章真正想说的是,如果您使用旧版本的 iOS SDK(例如 Xcode 4.4)编译项目,那么这些宏将不存在,您需要手动定义他们使用它们。但是,如果您使用的是最新的 Xcode,其中已经为您定义了宏,即使您针对的是旧版本的 iOS,您也可以使用这些宏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-14
      • 2012-08-08
      • 2014-04-25
      • 2012-12-21
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      相关资源
      最近更新 更多