如果我在Objective C中有两个变量,其中一个变量将另一个变量保存为字符串
NSInteger result = 4;
NSString * theName = @"result";
如何使用字符串而不是对变量的引用来最好地访问第一个变量?例如,如果我有很多变量并且会生成我需要的代码名称,我需要一种方法来使用该字符串来获取变量。
答案 0 :(得分:6)
虽然没有直接回答您的问题,但可以通过
访问对象的属性(或ivars)[object setValue:@"value" forKey:theName]
同样,getter是[object valueForKey:theName]
(感谢kevboh!)
答案 1 :(得分:1)
这在目标c中是不可能的。变量名称不能按名称合成。变量名本身在运行代码时没有任何意义,编译器将其转换为内存地址。这个名称只是程序员更容易编写和阅读代码的一种方式。
取决于您的具体情况,但您可能应该使用NSArray或NSDictionary。