Objective-C中String的对象名

时间:2010-10-08 08:39:36

标签: objective-c

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

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

我的目标是:

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

您不能 - 在执行任何Objective-C代码之前,编译器会很好地解析变量名称。您可以做的是使用NSMutableDictionary维护字符串映射到按钮等对象:

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

//...time passes...

[[buttonMap objectForKey: @"someString"] setEnabled: YES];