0

我正在实现一个非常简单的 iOS 应用程序,只是为了练习在其中显示弹出警报,当我按下警报按钮时出现错误:

线程 1:EXC_BAD_ACCESS(代码=1,地址=0x676f6f57)

这是代码:

- (IBAction)AlertButton {


    alert = [[UIAlertView alloc]
         initWithTitle:@"Alert" message:@"Alert"
         delegate:self
         cancelButtonTitle:@"Dismiss"
         otherButtonTitles:@"Apple", "Google" ,nil];
    [alert show];}


-(void)alertView :(UIAlertView *)alertView clickedButttonAtIndex:(NSInteger)buttonIndex{

    if(buttonIndex == 1){
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://apple.com"]];
    }
    if(buttonIndex == 2){
        [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"http://google.com"]];
    }}
4

2 回答 2

4

问题出在 , 的构造函数上UIAlertView

otherButtonTitles:@"Apple", "Google" ,nil];

你忘了@以前"Google"。最后改变:

-(void)alertView :(UIAlertView *)alertView clickedButttonAtIndex:(NSInteger)buttonIndex{

经过

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
于 2013-02-21T19:57:01.037 回答
1

真正的问题是你错过了@前面的一个"Google",所以它不是一个NSString,因此是崩溃。

使用这个.h

不需要 IBOutlet.just

 UIAlertView *alert;

.m

alert = [[UIAlertView alloc]
        initWithTitle:@"Alert"
              message:@"Alert"
             delegate:self
    cancelButtonTitle:@"Dismiss"
    otherButtonTitles:@"Apple", @"Google", nil
];
于 2013-02-21T19:52:25.353 回答