¿Cómo puedo averiguar el tipo de generics Objective-C?

Xcode 7 contiene una variante de Objective-C, en la que puede definir una sugerencia de tipo para properties y valores de retorno NSArray (homogéneos), definidos como NSArray<UIImage*> .

Me gustaría utilizar esta function para reescribir mi class JSON-deserializer (que necesita este tipo de sugerencias de tipo; anteriormente he resuelto esto agregando una -(Class)jsonHintForKey:(NSString*)key a mis classs que tienen arreglos homogéneos como properties)

¿Sabe si (y si es así, cómo) puedo usar el time de ejecución Objective-C para get la class de este nuevo tipo de sugerencia en time de ejecución?

Los generics livianos introducidos en Xcode 7 son solo sugerencias de time de compilation para ayudar al comstackdor a boost las advertencias, pero en el time de ejecución obtienes el mismo comportamiento anterior con tu variable que es solo NSArray s de id s.

Fuente: WWDC '15 "Swift y Objective-C Interoperability"

Ver la transcripción de la charla :

Por lo tanto, toda la function de generics ligeros se basa en un model de borrado de tipo . Lo que significa que el comstackdor tiene toda esta información de tipo estática rica, pero borra esa información al generar código.

No es posible hacer eso.

Los generics se introdujeron en el objective c para mejorar el puente entre el rápido y el objective c. La ventaja que le da al objective c es solo útil en el time de compilation , y esa información se pierde en time de ejecución.