如何使用保存其名称的String访问属性/变量

C.O*_*.O. 2 macos cocoa objective-c

如果我在Objective C中有两个变量,那么将另一个变量保存为字符串

NSInteger result = 4;
NSString * theName = @"result";
Run Code Online (Sandbox Code Playgroud)

我如何使用字符串而不是对变量的引用来最好地访问第一个变量?例如,如果我有很多变量并且会通过代码生成我需要的名称,那么我需要一种方法来使用该字符串来获取变量.

use*_*136 6

虽然没有直接回答您的问题,但可以访问对象的属性(或ivars)

[object setValue:@"value" forKey:theName]
Run Code Online (Sandbox Code Playgroud)

同样,吸气剂是[object valueForKey:theName](谢谢kevboh!)

  • @JeroenMoons仍然,Objective-C代码通常是在类的上下文中编写的,变量实际上是ivars或属性,在这种情况下我的答案可以解决问题. (2认同)