Как сделать так, чтобы в действии использовалось только 1 "if-Statement"?
В игре... Когда нажата кнопка "готово", появляется 2 "оператора if": один выводит вас на следующий уровень, а другой возвращает вас домой. Как я могу сделать так, чтобы за один раз происходило только одно? То, как это работает сейчас, - это как выигрышные, так и проигрышные "предупреждения", независимо от того, правильно ли пользователь понял или нет. Вот как это выглядит:
-(IBAction)done {
if ([entry.text isEqualToString:sentance.text]) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Cleared!"
message:@""
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[alert show];
[alert release];
seconds.text = @"5 Seconds";
}
if ([entry.text isEqualToString:entry.text]) {
NSString *nssScore= [NSString stringWithFormat:@"Final Score: \n %i Points", Score];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Nope! Wrong"
message:nssScore
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[alert show];
[alert release];
}
}
3 ответа
Вы можете использовать еще, если условие.
Как это:
-(IBAction)done {
if ([entry.text isEqualToString:sentance.text]) {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Cleared!"
message:@""
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[alert show];
[alert release];
seconds.text = @"5 Seconds";
}
else if ([entry.text isEqualToString:entry.text]) {
NSString *nssScore= [NSString stringWithFormat:@"Final Score: \n %i Points", Score];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Nope! Wrong"
message:nssScore
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles: nil];
[alert show];
[alert release];
}
}
или вы можете добавить строку кода в каждый блок "return;"
как это:
Что-то не так с вашим вторым if
,
if ([entry.text isEqualToString:entry.text]) {
Это если всегда верно, так почему entry.text
не быть равным самому себе?
Также, если у вас есть два if
заявления и только одно должно быть правдой, вы всегда используете else if
для второго:
if (<condition>) {
} else if (<other condition>) {
}
Если condition
верно, другой if
не выполняется, даже если other condition
тоже верно. Тем не менее, в вашем случае ваш второй if
кажется ерундой для меня. if
это всегда верно, бесполезно и не учитывается полностью. Код эквивалентен
if (<condition>) {
} else {
}
Я получил ответ, ребята...
if ([a.text isEqualToString:b.text] == FALSE) {
condition
}
Спасибо!