我想要在目标c中使用接口或类的所有变量名称或属性。
我可以使用valueForKey:message来动态获取和设置变量的值。
答案 0 :(得分:2)
如果您希望获得类的所有“属性”,可以使用Objective-C运行时来获取此数据:
unsigned int propertyCount, i;
objc_property_t *properties = class_copyPropertyList([self class], &propertyCount);
for(i = 0; i < propertyCount; i++)
{
objc_property_t property = properties[i];
NSString *propertyName = [NSString stringWithUTF8String:property_getName(property)];
}
free(properties);
使用此对象,您可以获取与给定属性关联的所有元数据。这不适合胆小的人(并且它是基于C的API)。确定每个属性的信息(比如它的策略和类型)并不简单。
答案 1 :(得分:1)
查看Objective-C Runtime Reference,特别是class_copyIvarList
和class_copyPropertyList
函数。使用这些运行时函数应该是您正在寻找的。 p>