Я хочу получить значение всех ivars в классе Objective-C и загрузить их в массив.Как получить значение переменной на основе ее имени строки?
У меня есть следующий код:
Class class = [self class];
NSString *myClassName = NSStringFromClass([self class]);
unsigned int count;
Ivar *ivars = class_copyIvarList(class, &count);
for (int i=0; i<count; i++) {
Ivar ivar = ivars[i];
const char* name = ivar_getName(ivar);
const char* typeEncoding = ivar_getTypeEncoding(ivar);
NSLog(@"Class Name: %@ ivar: %s Type Encoding: %s",myClassName, name, typeEncoding);
}
Так у меня есть имя в виде строки (имя), и теперь мне нужно значение этого Ивар.
Что-то вроде:
value = [self valueFromStringName(name)];
Так что, если у меня есть дата под названием myDate
я могу передать строку myDate
в метод, и он будет возвращать значение даты его держит.
Я вижу процедуры, которые запускают методы из имени строки метода, но не видят, где вы можете получить значение из имени строки.