Recorre todas las propiedades del objeto en tiempo de ejecución

Quiero crear una clase base Objective-C que realice una operación en todas las propiedades (de varios tipos) en tiempo de ejecución. Dado que los nombres y tipos de las propiedades no siempre se conocerán, ¿cómo puedo hacer algo como esto?

@implementation SomeBaseClass

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

EDITAR Esto sería particularmente útil en una @ personaliza- (NSString *)description: anulación.

Respuestas a la pregunta(6)

Su respuesta a la pregunta