【问题标题】:EXC_BAD_ACCESS in iOS 8 only when popToViewControlleriOS 8 中的 EXC_BAD_ACCESS 仅在 popToViewController 时
【发布时间】:2016-06-29 12:10:20
【问题描述】:

过去一周我一直在解决这个问题,但我无法解决它。我能够通过使用 Zombie 进程的一些堆栈溢出建议的帮助找到具体抛出异常的位置,并发现当我出于某种原因在 iOS 8 中执行popToViewController 时,iOS 8 在我的流程中丢失了一些东西,但我没有知道它是什么。我认为这可能与navigationController 有关,我尝试了各种方法来popToViewController

我的问题是,如果有人在下面的代码中看到罪魁祸首,还有没有更好的方法来弹出 iOS 8 用户的视图控制器。当用户返回视图 2 并按下视图中的任何按钮时发生崩溃,无论是移动到另一个视图的 UIButton 还是尝试使用 navigationButton 向后移动。

流程是这样的:View 1 --> View 2 --> View 3 --> View 4 === View 4 弹回到View 2

查看 4:ChooseTempatureViewController

Class classToPopTo = [BuildTempatureViewController class];
        for (UIViewController *view in [self.navigationController.viewControllers objectEnumerator]) {
            if([view class] == classToPopTo){
                NSLog(@"%s STARTED POP TO", __PRETTY_FUNCTION__);
                [self.navigationController popToViewController:view animated:YES];
                return;
            }
        }

查看2:TempatureViewController:

按任意按钮并接收EXC_BAD_ACCESS 并启用僵尸进程它给了我这个僵尸

[TempatureViewController navigationController:animationControllerForOperation:fromViewController:toViewController:]: message sent to deallocated instance 0x86d67720

任何可以帮助我的 iOS 8 用户的建议将不胜感激,项目正在使用 ARC 我也在使用XIBs

【问题讨论】:

    标签: ios objective-c iphone ios8 exc-bad-access


    【解决方案1】:

    您是否尝试过任何其他解决方案,例如使用 Unwind Segue。这是一个示例:https://spin.atomicobject.com/2015/04/23/unwind-segue-set-destination/。希望这会有所帮助

    【讨论】:

    • 感谢您抽出宝贵时间提供答案。我应该提到我使用的是 XIB,而不是故事板。最终我想转换为故事板
    猜你喜欢
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多