// Simple way of getting a list of ivar names for an Objective-C class. #import @interface NSObject (ivars) -(NSArray *)ivars { unsigned int ivarCount = 0; Ivar *ivars = class_copyIvarList([self class], &ivarCount); if (ivars && ivarCount) { NSMutableArray *array = [NSMutableArray array]; unsigned int idx = 0; for (idx=0; idx < ivarCount; idx++) { Ivar ivar = ivars[idx]; [array addObject:[NSString stringWithUTF8String:ivar_getName(ivar)]]; } free(ivars); return array; } return nil; } @end