Objective-C - 轻量级泛型可以包含多个类型吗?
Objective-C - Can lightweight generic contain multiple types?
这个新的语言特性iOS9前段时间就知道了基本用法
@property (nonatomic, strong) NSArray<NSString *> *params;
但我想将参数定义为
NSArray<NSString * or UIImage *>
,数组包含NSString*或UIImage*,是否可以显式定义?类型定义?
感谢所有提示!
我想你想调查一下 __covariants。这是一个体面的 post 谈论它们,特别是在评论部分。
我觉得这是不可能的,因为编译器必须假设返回的对象可以是 2 种完全不同的类型,这是不允许的。我认为你能做的最好的事情就是制作某种容器对象或结构来保存字符串和图像,你可以查询该对象以查看它包含哪个对象,然后将数组类型设为容器类型。否则只需使用不带泛型的旧 NSArray 并确定从数组中检索到的对象是什么。
这个新的语言特性iOS9前段时间就知道了基本用法
@property (nonatomic, strong) NSArray<NSString *> *params;
但我想将参数定义为
NSArray<NSString * or UIImage *>
,数组包含NSString*或UIImage*,是否可以显式定义?类型定义?
感谢所有提示!
我想你想调查一下 __covariants。这是一个体面的 post 谈论它们,特别是在评论部分。
我觉得这是不可能的,因为编译器必须假设返回的对象可以是 2 种完全不同的类型,这是不允许的。我认为你能做的最好的事情就是制作某种容器对象或结构来保存字符串和图像,你可以查询该对象以查看它包含哪个对象,然后将数组类型设为容器类型。否则只需使用不带泛型的旧 NSArray 并确定从数组中检索到的对象是什么。