Tüm ivarların değerini Objective-C sınıfında almak ve bunları bir diziye yüklemek istiyorum.Dize adına dayalı bir değişkenin değeri nasıl alınır?
Aşağıdaki kod var:
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);
}
Bu yüzden bir dize (isim) olarak isim var ve şimdi o Ivar değerini gerekir. gibi
şey: Ben myDate
denilen bir tarih varsa
value = [self valueFromStringName(name)];
Bu yüzden bir yöntem haline dize
myDate
geçirebilmesi ve buna tutan Tarih değerini döndürecektir.
Yöntemin dize adından yöntemleri çalıştıran rutinleri görüyorum, ancak değeri bir dize adından nereden alabileceğinizi göremiyorum.
id object_getIvar(id object, Ivar ivar)
Ivar değerini elde etmek için: