目标C的新Xcode 7泛型特性是编译器特性还是需要iOS 9?
我可以针对iOS 8,但仍然使用泛型吗?
发布于 2015-09-10 12:32:31
这是一个编译器特性。当您声明(例如NSArray<NSString *> * )时,所发生的一切就是编译器将假装您拥有- addObject:(NSString *)而不是- addObject:(id),如果您提供了错误类型的参数,则生成适当的消息。
它仍然是客观的C,而且所有的东西都是动态输入的。NSArray只有一个实现,无论泛型如何,它总是被使用,并且和以前一样。没有发生代码生成,也没有发生动态运行时恶作剧。
此外,所有类都是如此,而不仅仅是NSArray。苹果轻量级泛型中的“轻量级”意味着您只提供编译时提示。
https://stackoverflow.com/questions/32501648
复制相似问题