我有这堂课:
@interface Mission : BaseModel
{
NSString *Description;
NSDate *EndDate;
NSMutableArray *MissionSectionList;
NSString *Name;
NSDate *StartDate;
}
@property (nonatomic, retain) NSString *Description;
@property (nonatomic, retain) NSDate *EndDate;
@property (nonatomic, retain) NSMutableArray *MissionSectionList;
@property (nonatomic, retain) NSString *Name;
@property (nonatomic, retain) NSDate *StartDate;
@end
是否有可能找到这门课程的所有内容? 我用
试了一下Ivar class_getClassVariable(Class cls,const char * name)
但我不知道名字应该是什么:
name:要获取的类变量定义的名称。
实际上我想在不知道名字的情况下得到所有这些。
这可能吗?
答案 0 :(得分:3)
您可以使用class_copyIvarList
函数获取该类的所有实例变量的列表。然后你可以迭代它来获得每个ivar的属性。 (请注意,您负责释放用于ivars数组的内存)。示例代码可能如下所示:
unsigned int count;
Ivar *varList = class_copyIvarList([Mission class],&count);
for (int i = 0; i < count; ++i){
Ivar var = varList[i];
// Do when you need with ivar
}
free(varList);