Objective C 泛型 - 条件编译

Objective C generics - Conditional compilation

编写在使用 Xcode 7 编译时利用泛型但也可以在 Xcode 6 上编译的代码的最简单方法是什么?

我猜想某种预处理器技巧可以完成这项工作,也许是这样的:

#define XCODE7_ONLY(x) ...

NSDictionary XCODE7_ONLY(<NSString*, NSString*>)* dictionary;

您可以使用 __has_feature(objc_generics) 宏来测试 Obj-C 泛型。所以你可能想试试:

#if __has_feature(objc_generics)
#define XCODE7_ONLY(...) __VA_ARGS__
#else
#define XCODE7_ONLY(...)
#endif