【问题标题】:push view controller based on value of UILabel根据 UILabel 的值推送视图控制器
【发布时间】:2011-05-02 18:38:50
【问题描述】:

我有一个带有 2 个组件的pickerview,我有一个 3 按钮分段控件。根据用户在选择器视图和分段控件之间选择的内容,我有一个显示字符串的 UILabel。我想根据 UILabel 中显示的内容推送视图控制器。我应该为此使用 switch 语句吗?如何将字符串值转换为整数表达式以使 switch 语句起作用?

switch (fooLabel.text) {
    case @"foo-bar":
        [self.navigationController pushViewController:exampleVC animated:YES];
        break;

    default:
        break;
}

谢谢!

【问题讨论】:

    标签: objective-c uinavigationcontroller uilabel switch-statement uipickerview


    【解决方案1】:

    只使用多个 if 语句

    if ([fooLabel.text isEqualToString:@"foo-bar"])
    {
        //Show one
    }
    else if ([fooLabel.text isEqualToString:@"bar-foo"])
    {
        //Show Other
    }
    else
    {
        //Show Default
    }
    

    【讨论】:

    • 是的,我可以使用“if”语句,但此时我可能有超过 30 个视图需要推送。所以我希望使用 switch 语句来简化编码。看来我需要创建一个字典来键入。当我这样做时,我可以对“if”语句进行编码。想法?
    • 我发现执行 if 语句很容易。一本字典会更让人头疼。我通常使用常量而不是字符串,因此只有一个地方可以更改值。
    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 2010-12-11
    相关资源
    最近更新 更多