Ваш код установлен неправильно.
На самом деле он устанавливает оба состояния (Алабама, а затем Аляска), но поскольку он работает так быстро, вы не видите, что он установил Алабаму.
Поскольку:
hellolabel.text = @"Alabama";
предшествует if
заявление, он установит hellolabel.text
в Алабаме. Но поскольку оператор if
также содержится в одном и том же действии, он будет продолжать его запускать (так как код здесь выполняется последовательно), без остановки. А так как вы только что установили hellolabel.text
в Алабаму, ваш оператор if
установит его на Аляску, увидев, что он соответствует критериям, которые он проверяет (if([hellolabel.text isEqualToString:@"Alabama"])
).
правильный код так, что он будет проверять правильно, будет выглядеть так:
- (IBAction)button1:(id)sender {
if([hellolabel.text isEqualToString:@"Alabama"])
{
hellolabel.text = @"Alaska";
}
else
{
hellolabel.text = @"Alabama";
}
}
Вы пробовали 'если ([hellolabel.text isEqualToString: @ "Алабама"])'? – mohkhan
Да, случилось то же самое! – Mau5Karl
'isEqual' должен работать здесь, хотя это не так безопасно, как' isEqualToString'. –