ViewController 手动调用被 "Show" Segue 覆盖

ViewController called manually is over-ridden by "Show" Segue

我的自定义方法中有以下代码:

(IBAction)checkContinue:(UIButton *)sender {

if ([category.text isEqualToString:@""])
 {
    [self displayErrorMsg:@"Category Name cannot be empty"];

    [category becomeFirstResponder];

 }

//else部分根本不起作用。当我单击 "Continue" 时,会显示第二个视图控制器,并且会显示 "If" 部分中的错误消息.

else{

 //This code will help to navigate from Menu types to Create Menu Screen

   [self performSegueWithIdentifier:@"sw_contmenu" sender: self];
}
}

我的 MenuViewController 有 2 个 segue:sw_contmenusw_newmenu,它们将从2 种不同的方法。

问题:当我 运行 代码并单击 Continue 按钮时,上面的函数是用空值调用的,但是函数的 else 部分不起作用.

你有一个额外的动作 segue 导致第二个视图控制器在你处理按钮按下的同时被推入视图。这两个操作有冲突。

删除动作转场并在第一个视图控制器和第二个视图控制器之间添加一个显示转场应该可以解决问题。