Возвращает все свойства объекта в Objective-C

Возможно ли вернуть список всех свойств, реализованных объектом в Objective-C? Я понимаю, что свойства - это просто геттеры и сеттеры, поэтому я не уверен, как это будет работать. Если это невозможно сделать, можно ли вернуть все селекторы, на которые будет реагировать объект? Я ищу что-то похожее на метод методов в Ruby.

Ответ 1

// Get properties list    
objc_property_t* class_copyPropertyList(Class cls, unsigned int *outCount); 
// Get methods list
Method* class_copyMethodList(Class cls, unsigned int *outCount); 

Следующий код выводит все методы, реализованные в классе UIImage, на консоль:

unsigned int count;
Method* methods = class_copyMethodList([UIImage class], &count);
for (size_t i = 0; i < count; ++i)
   NSLog([NSString stringWithCString:sel_getName(method_getName(methods[i]))]);
free(methods);