将字符串转换为变量

时间:2010-08-05 01:32:31

标签: iphone objective-c

如果在一个类中,我有一个实例变量:nsstring * foo,现在我想创建一个带有字符串@“foo”的变量。

示例:我有字符串@“foo”,使用此字符串,我想要一个do:myobject.foo。

2 个答案:

答案 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];