我正在编写一个应用程序,我希望显示一个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....
}
}
任何人都可以告诉我如何执行此操作,以便我只有一个显示警报的代码块,并动态地将消息字符串传递给警报,如果没有任何子句匹配,则不执行任何操作吗?
感谢所有回复的人。
答案 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
}