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:
。如果它是一个局部变量,你就不走运了。如果它是全球性的,你可以做到,但它丑陋、缓慢,这是“为什么?!”的问题
你必须提供更多关于你正在尝试做什么的信息。根据定义,局部变量仅在其定义的范围内有效。有鉴于此,很难想象在没有更好/更干净/更简单的方法的情况下,你需要象征性地访问局部变量。看看这个问题:我不认为这是这个问题的重复。我想他是在寻求一种通过变量名获取对象的方法