How do I list all fields of an object in Objective-C?

http://stackoverflow.com/questions/1213901/how-do-i-list-all-fields-of-an-object-in-objective-c

As mentioned, you can use the Objective-C runtime API to retrieve the instance variable names:

unsigned int varCount;

Ivar *vars = class_copyIvarList([MyClass class], &varCount);

for (int i = 0; i < varCount; i++) {
    Ivar var = vars[i];

    const char* name = ivar_getName(var);
    const char* typeEncoding = ivar_getTypeEncoding(var);

    // do what you wish with the name and type here
}

free(vars);

posted on 2015-01-30 14:39  沉淀2014  阅读(108)  评论(0编辑  收藏  举报

导航