在UIAlertView上获得一些错误

时间:2011-10-06 15:57:01

标签: iphone ios

我不知道为什么会这样。它对我来说是正确的。我写了另一个UIAlertView,它看起来很好,一旦我删除了它,它就错误地写了我写的那个。我正试图遵循这个tutorial

这是在我的viewcontroller.m

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{


switch (result) {
        case MessageComposeResultCancelled:
            NSLog(@"Cancelled");
            break;
        case MessageComposeResultFailed:
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
            [alert show];
            [alert release];

        break;
    case MessageComposeResultSent:

        break;
    default:
        break;
}

[self dismissModalViewControllerAnimated:YES];
}

错误显示在它的许多行上,例如:在消息发送表达式的开头缺少“[”。 (如果我把它放在它想要在initWithTitle之后放另一个和另一个和另一个:)

下一个错误是:使用未声明的标识符'alert'(在展示和发布时说明)

知道发生了什么事吗?提前谢谢。

2 个答案:

答案 0 :(得分:6)

尝试在包含多行的case语句中添加括号。

- (void)messageComposeViewController:(MFMessageComposeViewController
*)controller didFinishWithResult:(MessageComposeResult)result {


switch (result) {
        case MessageComposeResultCancelled:
            NSLog(@"Cancelled");
            break;
        case MessageComposeResultFailed: {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
            [alert show];
            [alert release];

        break;
        }
    case MessageComposeResultSent:

        break;
    default:
        break; }

[self dismissModalViewControllerAnimated:YES]; }

答案 1 :(得分:0)

如果警报中没有额外的按钮,为什么要设置代理?我想,你应该改变委托:self to delegate:nil。