我正在开发一个iOS应用程序,但在尝试实现UIAlertView时遇到了一些麻烦,该UIAlertView在您按下按钮时弹出,并在您按下UIAlertView中的“确定”选项时触发segue。

我的Segue返回上一屏幕,但不会打开新屏幕。

我将发布一些代码,以便您了解如何布置此问题:

-(void)buyProduct{

 BOOL succeed = [json objectForKey:@"succeed"];


        if(succeed){
           // [self.navigationController popViewControllerAnimated:YES];

        }
}

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

    UIAlertView * alerta =  [[UIAlertView alloc] initWithTitle:@"Èxit"
                                                       message:@"La compra ha finalitzat amb èxit!"
                                                      delegate:self
                                             cancelButtonTitle:@"Cancel"
                                             otherButtonTitles:@"OK", nil];

    NSString *string = [alerta buttonTitleAtIndex:buttonIndex];
    if ([string isEqualToString:@"OK"])
    {
        [self.navigationController popViewControllerAnimated:YES];
    }


}


我所坚持的是:如何满足“ if(成功)”条件后告诉应用程序必须启动UIAlertView?我不能只使用[self someMethod],因为以下方法在其定义上具有变量。

有什么建议么?

最佳答案

您需要在主队列上调用popViewControllerAnimated:

dispatch_sync(dispatch_get_main_queue(), ^{
    [self.navigationController popViewControllerAnimated:YES];
});

关于ios - ios通过uialertview触发segue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24535566/

10-13 08:37