在 Objective C 中选择加入泛型
Opt-in to Generics in Objective C
我想要这样的东西:
@property (nonatomic, nonnull, copy) NSArray <Route *> *routes;
但我需要支持 Xcode 的旧版本。使用指定的初始化程序,可以在编译器中进行查找以查看它是否受支持:
#if __has_attribute(objc_designated_initializer)
我做了一些挖掘,但找不到它们的定义位置,因为我想某处有一个用于轻量级泛型的地方。
我在 https://gist.github.com/smileyborg/d513754bc1cf41678054
内找到了它
#if __has_feature(objc_generics)
# define __GENERICS(class, ...) class<__VA_ARGS__>
# define __GENERICS_TYPE(type) type
#else
# define __GENERICS(class, ...) class
# define __GENERICS_TYPE(type) id
#endif
我想要这样的东西:
@property (nonatomic, nonnull, copy) NSArray <Route *> *routes;
但我需要支持 Xcode 的旧版本。使用指定的初始化程序,可以在编译器中进行查找以查看它是否受支持:
#if __has_attribute(objc_designated_initializer)
我做了一些挖掘,但找不到它们的定义位置,因为我想某处有一个用于轻量级泛型的地方。
我在 https://gist.github.com/smileyborg/d513754bc1cf41678054
内找到了它#if __has_feature(objc_generics)
# define __GENERICS(class, ...) class<__VA_ARGS__>
# define __GENERICS_TYPE(type) type
#else
# define __GENERICS(class, ...) class
# define __GENERICS_TYPE(type) id
#endif