Traté de enumerar todas las propiedades de una clase Objective-C como se describen en el Objective-C 2.0 Runtime Programming Guide:Objective-C 2.0: class_copyPropertyList(), cómo enumerar las propiedades de las categorías
id LenderClass = objc_getClass("UIView");
unsigned int outCount, i;
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);
for (i = 0; i < outCount; i++) {
objc_property_t property = properties[i];
fprintf(stdout, "%s %s\n", property_getName(property), property_getAttributes(property));
}
Sin embargo, esta lista solo tres propiedades:
userInteractionEnabled Tc,GisUserInteractionEnabled
layer [email protected]"CALayer",R,&,V_layer
tag Ti,V_tag
En cuanto al archivo de encabezado para UIView.h esas son las tres propiedades declaradas directamente en la clase. Las otras propiedades de UIView se agregan a través de categorías.
¿Cómo obtengo todas las propiedades de una clase, incluidas las provenientes de categorías?
Probé esto con el simulador de iPhone (iPhone SDK 2.2.1), por cierto. (en caso de que esto sea importante).
Tal vez se declaran como dinámicos y no se sintetizan debido a CALayer? Y por lo tanto, no visible? – hfossli