开发者

How should I properly format this code?

I've a small issue here. I am using an if statement with UIAlertView and I have two situations, both result in UIAlertViews. However, in one situation, I want to dismiss just the UIAlertView, the other, I want the UIAlertView to be dismissed and view to return to root view.

This code describes is:

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开发者_StackOverflow. 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];
    }
} 
}

So, in both cases, they follow the above action, but obviously, that's not what I want. Any ideas on what I do here?


You will have to differentiate between the 2 uialertview in your clickedButtonAtIndex: method.

Use the tag property to differentiate.

When you create the alerview assign a tag id to them:

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

Similarly,

failure.tag = 2;

Then you switch on the tag ids

switch(alertView.tag){
   case 1: //dismiss alertview
   case 2: //dismiss alertview and return to root view
}


You could paste your code in Eclipse, and press ctrl+i.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜