ios通过uialertview触发segue

时间:2014-07-02 15:46:45

标签: ios uialertview segue

我正在开发一个iOS应用程序,我有点陷入尝试实现UIAlertView,当你按下按钮时突然弹出,当你按下" OK&#34时会触发一个segue ; UIAlertView中的选项。

我的观点回到上一个屏幕,它没有打开一个新的屏幕。

我会发布一些代码,以便您了解我是如何解决此问题的:

-(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(success)"之后启动UIAlertView。条件满足了吗?我不能仅仅使用[self someMethod],因为下面的方法在其定义上有变量。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

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

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