Перебрать все свойства объекта во время выполнения

Я хочу создать базовый класс Objective-C, который выполняет операцию над всеми свойствами (различных типов) во время выполнения. Поскольку имена и типы свойств не всегда будут известны, как я могу сделать что-то подобное?

@implementation SomeBaseClass

- (NSString *)checkAllProperties
{
    for (property in properties) {
        // Perform a check on the property
    }
}

РЕДАКТИРОВАТЬ: Это было бы особенно полезно в обычае- (NSString *)description: переопределения.

Ответы на вопрос(3)

Ваш ответ на вопрос