2010-10-08 61 views
4

我想从字符串中设置像UIButton这样的对象的名称。Objective-C中字符串的对象名称

NSString *buttonName = [[NSString alloc] initWithString:@"someString"];

我的目标是:

UIButton *someString = [[UIButton buttonWithType:UIButtonTypeCustom]retain];

我怎样才能解决这个问题?

+0

这并没有太大的意义...你的第一个代码示例甚至没有有效的Objective-C,目前还不清楚你的意图是什么。 UIButton不是字符串。请更详细地解释一下你想用这个“设置对象名称”来解决你的问题。 – DarkDust 2010-10-08 08:44:38

回答

6

在编译器执行任何Objective-C代码之前,您无法完成变量名称的编译。你可以做的是使用NSMutableDictionary保持地图的字符串像按钮等对象:

NSString *string = @"someString"; 
[buttonMap setObject: [UIButton buttonWithType:UIButtonTypeCustom] forKey: string]; 

//...time passes... 

[[buttonMap objectForKey: @"someString"] setEnabled: YES]; 
相关问题