如果在一個類中,我有一個實例變量:nsstring * foo,現在我想創建一個帶有字符串@「foo」的變量。將字符串轉換爲變量
例如:我有字符串@「foo」,並且用這個字符串,我想要一個do:myobject.foo。
如果在一個類中,我有一個實例變量:nsstring * foo,現在我想創建一個帶有字符串@「foo」的變量。將字符串轉換爲變量
例如:我有字符串@「foo」,並且用這個字符串,我想要一個do:myobject.foo。
我認爲你在找什麼是KVC Key-Value Coding。
它使您能夠通過名稱(字符串)檢索或設置對象的屬性或實例變量。你可以這樣做:
id fooValue = [myobject valueForKey:@"foo"];
[myobject setValue:barValue forKey:@"foo"];
如果你有setter和getter方法(或已合成的),你可以使用NSSelectorFromString()來訪問和修改變量。
訪問:
id foo = [self performSelector:NSSelectorFromString(@"foo")];
修改:
[self performSelector:NSSelectorFromString([NSString stringWithFormat:@"set%@:, [@"foo" capitalizedString]]) withObject:foo];
賺不了多少意義,我至今 - 你想創建的NSString並保留它的東西? 「做」應該是做什麼的方法? – 2010-08-05 03:03:57