Я хочу получить значение всех иваров в классе 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);
}
Итак, у меня есть имя в виде строки (имя), и теперь мне нужно значение этого ivar.
Что-то типа:
value = [self valueFromStringName(name)];
Так что, если у меня есть дата с именем myDate
, я могу передать строку myDate
в метод, и он вернет значение даты, которое она содержит.
Я видел подпрограммы, которые запускают методы из строкового имени метода, но не видел, где можно получить значение из строкового имени.