【问题标题】:Object name from String in Objective-CObjective-C中字符串的对象名称
【发布时间】:2010-10-08 08:39:35
【问题描述】:

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

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

我的目标是:

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

我该如何解决这个问题?

【问题讨论】:

  • 这没有多大意义......您的第一个代码示例甚至不是有效的Objective-C,而且您的意图并不是很清楚。 UIButton 不是字符串。请更详细一点,用这个“对象的设置名称”解释你想解决的问题。

标签: objective-c


【解决方案1】:

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

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

//...time passes...

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

【讨论】:

    猜你喜欢
    • 2012-05-02
    • 2014-03-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2020-05-28
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多