我怎样才能找出Objective-C的genericstypes?

Xcode 7包含一个Objective-C变体,您可以在其中为(同源的) NSArray返回值和属性(如NSArray<UIImage*> )定义types提示。

我想使用这个function来重写我的JSON反序列化器类(它需要这种types的提示 – 以前我已经通过添加一个-(Class)jsonHintForKey:(NSString*)key来解决这个问题,我的类有同质arrays作为属性)。

你知道是否(如果是这样,如何)我可以使用Objective-C运行时在运行时获得这个新types提示的类?

在Xcode 7中引入的轻量级generics只是编译时间提示,以帮助编译器提出警告,但在运行时,您将获得与您的variables仅为NSArray相同的旧行为。

来源: WWDC“15”Swift和Objective-C互操作性“会议

看到谈话的谈话内容 :

因此,整个轻量级genericsfunction基于types擦除模型 。 这意味着编译器拥有所有这些丰富的静态types信息,但是在生成代码时会删除这些信息。

这是不可能的。

在objective-c中引入了generics,以改善快速和客观之间的桥梁。 它给objective-c带来的好处只在编译时才有用 ,而且我在运行时会丢失信息。