Iphone NSString中的Obj-C变量?

Iphone NSString中的Obj-C变量?,iphone,objective-c,ios,nsstring,Iphone,Objective C,Ios,Nsstring,可能的重复项: 假设我有: MyClass *myVar = [[MyClass alloc] init]; 我有一个NSString*myString=@“myVar” 有没有办法根据我拥有的字符串检索var实例?在运行时,标识符myVar没有任何意义,它被内存中的地址替换。如果您希望能够按名称获取对象,则需要使用NSDictionary或可变字典,例如 NSDictionary* map = [NSDictionary dictionaryWithObjectsAndKeys:

可能的重复项:

假设我有:

MyClass *myVar = [[MyClass alloc] init];
我有一个
NSString*myString=@“myVar”


有没有办法根据我拥有的字符串检索var实例?

在运行时,标识符myVar没有任何意义,它被内存中的地址替换。如果您希望能够按名称获取对象,则需要使用
NSDictionary
或可变字典,例如

NSDictionary* map = [NSDictionary dictionaryWithObjectsAndKeys: 
                        [[[MyClass alloc] init] autorelease], @"myVar", nil];
然后按如下方式访问:

[map objectForKey: @"myVar"];

如果它是一个实例变量,只需使用
valueForKey:
。如果它是一个局部变量,你就不走运了。如果它是全球性的,你可以做到,但它丑陋、缓慢,这是“为什么?!”的问题



你必须提供更多关于你正在尝试做什么的信息。根据定义,局部变量仅在其定义的范围内有效。有鉴于此,很难想象在没有更好/更干净/更简单的方法的情况下,你需要象征性地访问局部变量。

看看这个问题:我不认为这是这个问题的重复。我想他是在寻求一种通过变量名获取对象的方法