这有可能在目标c中获得属性中的所有变量吗?

时间:2014-04-03 01:56:32

标签: objective-c

有什么方法可以找出目标c对象有多少变量? 例如:

@interface myObject:NSObject
{

}
@property(nonatomic, retain)NSString *firstString;
@property(nonatomic, retain)NSString *secondString;

我想知道该对象有firstStringsecondString

1 个答案:

答案 0 :(得分:1)

要在anObject中获取所有属性名称(旧式实例变量需要额外代码)的列表,您可以使用:

#import <objc/runtime.h>


u_int           count;
objc_property_t *properties=class_copyPropertyList([anObject class],&count);

for(int i=0;i<count;i++)
{
    NSString            *propertyName=[NSString stringWithUTF8String:property_getName(properties[i])];

    NSLog(@"Property: %@",propertyName)
}

free(properties);