#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. поддержка словаря была бы немного большей головной болью. Я обычно использую константы, а не строки, поэтому есть только одно место для изменения значений.