尝试切换到另一个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,而我自己也没有发布任何东西。
有什么想法吗?
提前致谢。
答案 0 :(得分:1)
对于那些可能遇到同样问题的人,解决方法就是使用它:
[self.view endEditing:YES];
在弹出任何内容之前,键盘仍会显示,这是导致崩溃的原因。