Я попытался перечислить все свойства класса Objective-C, как описано в Objective-C 2.0 Runtime Programming Guide:
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));
}
Но это перечисляет только три свойства:
userInteractionEnabled Tc,GisUserInteractionEnabled
layer [email protected]"CALayer",R,&,V_layer
tag Ti,V_tag
Глядя на файл заголовка для UIView.h, это три свойства, объявленные непосредственно в классе. Другие свойства UIView добавляются через категории.
Как получить все свойства класса, в том числе из категорий?
Я попробовал это с iPhone-симулятором (iPhone SDK 2.2.1), кстати. (в случае, если это важно).