Как мне правильно отформатировать этот код? - PullRequest
0 голосов
/ 08 апреля 2010

У меня здесь небольшая проблема.Я использую оператор if с UIAlertView, и у меня есть две ситуации, обе приводят к UIAlertViews.Тем не менее, в одной ситуации я хочу отклонить только UIAlertView, в другой я хочу, чтобы UIAlertView был отклонен и просмотр вернулся в корневое представление.

Этот код описывает:

if([serverOutput isEqualToString:@"login.true"]){   

[Alert dismissWithClickedButtonIndex:0 animated:YES];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

UIAlertView *success = [[UIAlertView alloc] initWithTitle:@"Success" message:@"The transaction was a success!"
                                                          delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[success show];
[success release];  

} else {

    UIAlertView *failure = [[UIAlertView alloc] initWithTitle:@"Failure" message:@"The transaction failed. Contact sales operator!"
                                                     delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    [failure show];
    [failure release];
}
}

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

switch(buttonIndex) {
    case 0: {
        [self.navigationController popToRootViewControllerAnimated:YES];
    }
} 
}

Итак, в обоих случаях они следуют вышеуказанному действию, но, очевидно, это не то, что я хочу.Любые идеи о том, что я здесь делаю?

Ответы [ 2 ]

1 голос
/ 08 апреля 2010

Вы должны будете различать 2 uialertview в вашем методе clickedButtonAtIndex:.

Используйте свойство tag для дифференциации.

Когда вы создаете представление оповещений, присвойте им идентификатор тега:

UIAlertView *success = [[UIAlertView alloc] initWithTitle:@"Success" message:@"The transaction was a success!" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
success.tag = 1;
[success show];

Аналогично,

failure.tag = 2;

Затем вы включаете идентификаторы тегов

switch(alertView.tag){
   case 1: //dismiss alertview
   case 2: //dismiss alertview and return to root view
}
0 голосов
/ 08 апреля 2010

Вы можете вставить свой код в Eclipse и нажать ctrl+i.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...