2010-08-05 208 views
0

如果在一個類中,我有一個實例變量:nsstring * foo,現在我想創建一個帶有字符串@「foo」的變量。將字符串轉換爲變量

例如:我有字符串@「foo」,並且用這個字符串,我想要一個do:myobject.foo。

+0

賺不了多少意義,我至今 - 你想創建的NSString並保留它的東西? 「做」應該是做什麼的方法? – 2010-08-05 03:03:57

回答

0

我認爲你在找什麼是KVC Key-Value Coding

它使您能夠通過名稱(字符串)檢索或設置對象的屬性或實例變量。你可以這樣做:

id fooValue = [myobject valueForKey:@"foo"]; 
[myobject setValue:barValue forKey:@"foo"]; 
0

如果你有setter和getter方法(或已合成的),你可以使用NSSelectorFromString()來訪問和修改變量。

訪問:

id foo = [self performSelector:NSSelectorFromString(@"foo")]; 

修改:

[self performSelector:NSSelectorFromString([NSString stringWithFormat:@"set%@:, [@"foo" capitalizedString]]) withObject:foo];