2013-02-28 2 views
-1

У меня есть некоторые UILabels и кнопки. Это мой код:изменить текст ярлыка с помощью операторов if - obj c

if ([label.text isEqualToString:@"The three blue dots represents GPS towers. Click Go to advance"]) 
    { 
     firstClick = [[UIAlertView alloc] initWithTitle:@"Welcome!" 
               message:@"Blah, blah blah" 
               delegate:self 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
     [firstClick show]; 

     distanceLabel.text = @"Distance to first tower: 50 km"; 
     a = YES; 
    } 

    if (a) 
    { 
     label.text = @"Now you know that the distance to the first tower is 50 km. Click Go to advance"; 
    } 

Все это внутри метода действий для кнопки. когда кнопка нажата, вид alertview и distanceLabel изменяет свой текст. Затем нажата кнопка «ОК» в уведомлении. Я хотел бы изменить label.text. Я попытался с экземпляром boolean, но это не работает. Почему это не работает, и что мне делать вместо этого?

+1

Проверьте, чтобы убедиться, что ваш ярлык не ноль и правильно подключен внутри раскадровки/СИБ. –

+0

в таких случаях, точка останова, шаг и проверка на нуль, и в любом случае вы должны понять, что не так. – Ultrakorne

+0

Как проверить нуль? –

ответ

0

Если вы хотите действие произойти при нажатии кнопки вида оповещения, вы должны реализовать метод протокола:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 

    NSLog(@"button clicked at index %d", buttonIndex); 
    NSLog(@"about to update a label. this won't work if it's nil... %@", label); 
    label.text = [NSString stringWithFormat:@"user clicked button %d", buttonIndex"]; 
} 
+0

Как использовать это для проверки, нажата ли кнопка в окне alertview? –

+0

будет вызываться только при нажатии кнопки – danh

Смежные вопросы