popToRootViewControllerAnimated后崩溃

时间:2014-08-12 15:03:16

标签: ios crash uitabbarcontroller nszombie

尝试切换到另一个VC时发生了崩溃。 结构如下:

TabBarController [Home,Tab2,Result选项卡]

从这些标签中,我可以推送一个名为addVC的新viewController,其中包含UITextField

我想做的是能够遵循以下顺序: Tab2 / Home(step1)=> addVC(step2)=>结果选项卡(步骤3)

为此,我在addVC中使用此代码:

[self.navigationController popToRootViewControllerAnimated:NO];
UITabBarController *tabbarController = ((UITabBarController*)appDelegate.window.rootViewController);
[tabbarController setSelectedIndex:2];

它大部分时间都有效,但是如果当我弹出时焦点位于文本字段中然后按结果选项卡,则不会在没有崩溃的情况下访问step1中的选项卡。

崩溃日志是:

[addVC respondsToSelector:]: message sent to deallocated instance 0x10977e60

NSZombie告诉我,已经调用了[UITextField canBecomeFirstResponder],导致崩溃。

由于我使用了故事板,除此之外的任何内容都不会以编程方式完成。我想我去第3步的方法不是正确的。 我使用ARC,而我自己也没有发布任何东西。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

对于那些可能遇到同样问题的人,解决方法就是使用它:

[self.view endEditing:YES];

在弹出任何内容之前,键盘仍会显示,这是导致崩溃的原因。