нажимной контроллер просмотра на основе значения UILabel

#objective-c #uinavigationcontroller #uilabel #switch-statement #uipickerview

#objective-c #uinavigationcontroller #uilabel #оператор переключения #uipickerview

Вопрос:

У меня есть pickerview с 2 компонентами, у меня есть сегментированный элемент управления с 3 кнопками. На основе того, что пользователь выбирает между pickerview и сегментированным элементом управления, у меня есть UILabel, который отображает строку. Я хотел бы запустить контроллер представления на основе того, что отображается в UILabel. Должен ли я использовать для этого оператор switch? Как мне преобразовать строковые значения в целочисленные выражения для работы инструкции switch?

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

    default:
        break;
}
  

Спасибо!

Ответ №1:

просто используйте несколько операторов if

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

Комментарии:

1. Да, я могу использовать инструкции «if», но на данный момент возможно, что у меня может быть более 30 просмотров для принудительного просмотра. Итак, я надеялся использовать инструкции switch для простоты кодирования. Кажется, мне нужно создать словарь для ввода ключа. К тому времени, когда я это сделаю, у меня могли бы быть закодированы инструкции «if». Мысли?

2. Я считаю, что достаточно легко выполнять инструкции if. поддержка словаря была бы немного большей головной болью. Я обычно использую константы, а не строки, поэтому есть только одно место для изменения значений.