当UIAlertView触发时,如何停止/取消segue

时间:2014-07-02 12:49:27

标签: ios objective-c uialertview segue

我有一个导致tableViewController的按钮。

我创建了UIAlertView,当 resultArray null 时会触发,这也意味着tableView上没有任何内容可以显示,但是当用户点击确定时,没有任何内容更改,它将转到空tableView。

如何停止进入其他视图控制器?

这是我的代码

 if (refilteredArray.count==0) {

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No result"
                                                    message:@"Please enter a different combination."
                                                   delegate:nil
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
}

segue不是用代码触发的,它是一个触发IBAction的按钮

- (IBAction)motorButton:(id)sender {
...
}

2 个答案:

答案 0 :(得分:0)

您需要转到if .. else阻止

if (refilteredArray.count==0) {
 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No result"
                                                    message:@"Please enter a different combination."
                                                   delegate:nil
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
}else{
  [self performSegueWithIdentifier:@"yourSegue" sender:sender];

}

有关详细信息,请check this link about segue

答案 1 :(得分:0)

您可以使用以下方法

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender

在方法体中,您可以验证数组是否为空以及是否返回NO。为了更具特色,你应该检查你的segue标识符(记得先把它添加到IB中你的segue)