У меня пока нет прав на комментарии, но, чтобы добавить к ответу @ Costique, есть дополнительный атрибут Type value "V", который является именем IVar, к которому может быть привязано свойство (посредством синтеза).Это можно легко обнаружить с помощью интерфейса
@. Отредактировано: NSObject
@ property (atomic, readonly) int foo;
@ end
@ реализация Отредактировано
@ synthesize foo = fooBar;
@ end
// for all properties
unsigned propertyCount = 0;
objc_property_t *properties = class_copyPropertyList([object class], &propertyCount);
for (int prop = 0; prop < propertyCount; prop++)
{
// for all property attributes
unsigned int attributeCount = 0;
objc_property_attribute_t* attributes = property_copyAttributeList(property, &attributeCount);
for (unsigned int attr = 0; attr < attributeCount; attr++)
{
NSLog(@"Attribute %d: name: %s, value: %s", attr, attributes[attr].name, attributes[attr].value);
}
}
2013-07-08 13: 47: 16,600 Отредактировано5162: 303]Атрибут 0: имя: T, значение: i
2013-07-08 13: 47: 16,601 Отредактировано [5162: 303] Атрибут 1: имя: R, значение:
2013-07-08 13: 47: 16.602 Отредактировано [5162: 303] Атрибут 2: имя: V, значение: fooBar