Ios UIAlertView未调用

Ios UIAlertView未调用,ios,uialertview,Ios,Uialertview,我正在尝试创建一个简单的网页浏览器式应用程序,每当用户想要使用back、home或forward功能时,都会通过警报视图要求他们确认 console窗口确认它调用iAction没有问题,但每当我希望它调用Alert View时,它就会显示为空白 任何帮助都将不胜感激 - (IBAction)controlPanelActions:(id)sender{ if (_controlPanel.selectedSegmentIndex == 0) { if ([_viewWeb canGoBa

我正在尝试创建一个简单的网页浏览器式应用程序,每当用户想要使用back、home或forward功能时,都会通过警报视图要求他们确认

console窗口确认它调用iAction没有问题,但每当我希望它调用Alert View时,它就会显示为空白

任何帮助都将不胜感激

- (IBAction)controlPanelActions:(id)sender{
if (_controlPanel.selectedSegmentIndex == 0)
{
    if ([_viewWeb canGoBack])
    {
        [self askToGoHome:nil];
    }

}



- (IBAction)askToGoHome:(id)sender {
UIAlertView *alertDialog;
alertDialog.tag = 2;
alertDialog = [[UIAlertView alloc]

               initWithTitle: @"Confirm"
               message:@"Continue with Home Action?"
               delegate: self
               cancelButtonTitle: @"Yes"
               otherButtonTitles: @"No", nil];

[alertDialog show];
}





- (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *buttonTitle=[alertView buttonTitleAtIndex:buttonIndex];

if (alertView.tag == 1)
{
    if ([buttonTitle isEqualToString:@"Yes"])
    {
        NSLog(@"back - yes");
        [_viewWeb goBack];
    }
}

 if (alertView.tag == 2)
 {
     NSLog(@"home - pre-yes");
     if ([buttonTitle isEqualToString:@"Yes"])
     {
         NSLog(@"home - yes");
          HOMEPAGEURL = [[NSURL alloc] initWithString:HOMEPAGE];
         [self.viewWeb loadRequest:[NSURLRequest requestWithURL:HOMEPAGEURL]];
     }
 }
if (alertView.tag == 3)
{
    if ([buttonTitle isEqualToString:@"Yes"])
    {
        [_viewWeb goForward];
    }
}
}

设置
alertDialog.tag=2在调用init之前


所以,每次设置标记时,都将标记设置为nil。这将不起作用。

Alertview alloc和init方法将其标记设置为0

因此
alertDialog.tag=2

这是行不通的


在alloc和init方法之后添加此行。

为了澄清,警报是否为空?还是完全跳过?警报会按预期显示“是”和“否”选项。只有在选择其中一个选项后,才会发生任何事情。
-(id)initWithTitle:(NSString*)标题消息:(NSString*)消息委托:(id)委托取消按钮提示:(NSString*)取消按钮提示其他按钮提示:(NSString*)其他按钮提示
我没有看到其他按钮提示后面的nil的签名?那个参数是什么?我无法找到实际参数,但是如果没有Nil,自动完成会告诉我“方法分派中缺少哨兵”。然后程序在运行完之后崩溃了。谢谢你花时间来研究它。但是,将“alertDialog.tag”移动到iAction的底部后,问题似乎得到了解决。