如果在一个类中,我有一个实例变量:nsstring * foo,现在我想创建一个带有字符串@“foo”的变量。
示例:我有字符串@“foo”,使用此字符串,我想要一个do:myobject.foo。
答案 0 :(得分:0)
我认为您所寻找的是KVC Key-Value Coding。
它使您能够通过它的名称(String)检索或设置对象的属性或实例变量。你可以这样做:
id fooValue = [myobject valueForKey:@"foo"];
[myobject setValue:barValue forKey:@"foo"];
答案 1 :(得分:0)
如果你有setter和getter方法(或已合成它们),你可以使用NSSelectorFromString()来访问和修改你的变量。
访问:
id foo = [self performSelector:NSSelectorFromString(@"foo")];
修改:
[self performSelector:NSSelectorFromString([NSString stringWithFormat:@"set%@:, [@"foo" capitalizedString]]) withObject:foo];