Можно ли программно определить, какими свойствами обладает класс?


Можно ли программно определить, какими свойствами обладает класс? Я хочу увидеть, какие свойства определил класс (или подкласс). Мне сказали, что это связано с тем, что называется самоанализом во время выполнения. Я нашел Эту статью, но, похоже, это только верхушка айсберга.

Итак, можно ли программно определить, какими свойствами обладает класс? Но как?

Редактировать:

Я работаю на iOS, а не на Mac OS X. какие заголовки мне нужны импорт?

1 2

1 ответ:

Руководство по программированию среды выполнения Objective-C содержитраздел о свойствах листинга . Соответствующий фрагмент кода, который фактически получает список:

id LenderClass = objc_getClass("Lender");
unsigned int outCount;
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);

Затем вы используете функции свойств среды выполнения, чтобы получить любую информацию, которую вы хотите о каждом свойстве в списке.