在选项卡栏应用程序(iOS)中使用UINavigationController推送UIViewController

在选项卡栏应用程序(iOS)中使用UINavigationController推送UIViewController,ios,xcode,uiviewcontroller,uinavigationcontroller,Ios,Xcode,Uiviewcontroller,Uinavigationcontroller,我有一个选项卡栏应用程序 我添加了一个UINavigationController作为选项卡。我将RootViewController设置为“ContactViewController”。我有一个按钮要单击以转到“EmailFormViewController” 我已使用该方法推送视图控制器: -(IBAction)goToEmailForm:(id)sender{ EmailFormViewController *evc = [[EmailFormViewController allo

我有一个选项卡栏应用程序

我添加了一个UINavigationController作为选项卡。我将RootViewController设置为“ContactViewController”。我有一个按钮要单击以转到“EmailFormViewController”

我已使用该方法推送视图控制器:

-(IBAction)goToEmailForm:(id)sender{
    EmailFormViewController *evc = [[EmailFormViewController alloc] initWithNibName:@"EmailFormViewController" bundle:nil];
    [self.navigationController pushViewController:evc animated:YES];
}
我已将其连接到ViewController上的UIButton。它应该可以工作,但我假设问题与它在基于选项卡的应用程序中有关


我得到的错误是EXC_BAD_访问,我知道这与在不需要发布的时候发布某些内容有关,或者与这些内容相关。但是,在我点击按钮之前,这种情况不会发生,而且我还没有发布这种方法中的任何内容,所以我不明白为什么会发生这种情况。谢谢。

如果卸载父VC,悬空指针可能会出现问题。请澄清,tabBarController是否设置为窗口的rootViewController?ContactViewController被设置为导航控制器的rootViewController,对吗?我不相信在切换视图后会卸载父VC。似乎无法理解它可能是什么(仍在以不同的方式调试)。。。