尝试使用iOS中的if / else语句显示alertView

时间:2013-02-24 04:52:14

标签: ios if-statement uialertview

我正在编写一个应用程序,我希望显示一个alertView,根据是否发生某些情况显示不同的消息。如果没有任何情况匹配,则不应显示任何警报,并且应处理应用程序的其余部分。我的问题是我不知道该怎么做。我有以下代码:

 - (void) methodThatIsCalled {

             NSString *msg;

             if (blah) {

                 msg = @"Message A";

             }

             else if (blah blah) {

                 msg = @"Message B";

             }

             else if (blah blah blah) {

                 msg = @"Message C";

             }

             //Here is where I want to display the Alert code
             UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                        message:msg
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
             [alert show];

             else {

                   Do rest of the application....


             }

      }

任何人都可以告诉我如何执行此操作,以便我只有一个显示警报的代码块,并动态地将消息字符串传递给警报,如果没有任何子句匹配,则不执行任何操作吗?

感谢所有回复的人。

2 个答案:

答案 0 :(得分:4)

- (void) showAlertWithTitle: (NSString*) title message: (NSString*) message
{
    UIAlertView* alert= [[[UIAlertView alloc] initWithTitle: title message: message
                                                   delegate: NULL cancelButtonTitle: @"OK" otherButtonTitles: NULL] autorelease];
    [alert show];

}

//在你的函数中:

if (blah) {
    [self showAlertWithTitle:@"Error"  message:@"Message A"];
} 
 else if (blah blah) {
    [self showAlertWithTitle:@"Error"  message:@"Message B"];
}

答案 1 :(得分:3)

您可以更改为

NSString *msg = nil;

然后添加一个if

if (msg) { // If there is a message
    //Here is where I want to display the Alert code
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                              message:msg
                                              delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
    [alert show];
} else {
    ... // Rest of application
}