dismissModalViewControllerAnimated在iOS6上崩溃

我正面临iOS 6.0的崩溃。 我有一个视图控制器,我从中呈现一个导航视图控制器模态,然后从导航堆栈我呈现另一个视图控制器模态,最后解散整个模态堆栈我将以下消息传递到我的第一个视图控制器从我显示导航控制器。

现在这个工作正常在iOS 6.0以下。 我应该如何处理?

[self dismissModalViewControllerAnimated:YES];

我也遇到了类似的崩溃,其中一件事帮我解决了这个问题:

vc.modalPresentationStyle = UIModalPresentationCurrentContext;

也许是因为dismissModalViewController在iOS6中被弃用? 尝试

[self dismissViewControllerAnimated:YES completion:nil]; 

编辑:让我们说你添加一个方法到appDelegate叫'makeMeNumberOne:(UIViewController *)vc':(我知道你使用'模式'的版本,他们在iOS6弃用,切换到'呈现'变种)。 另外我假设你可以findnavigationController,如果这是一个问题,请添加评论我将进一步扩展这一点,并假设你正在使用ARC。)

  • 你拥有的参数是一个强大的参考,它拥有当前提出的viewController,让我们称之为pvc

  • 请问navigationController的navigationController,并得到最后一个

  • 作为一个debugging工具,请validation此vc是否具有非零的presentViewController属性

  • 消息最后一个视图控制器上面:

    [lastOne dismissViewControllerAnimated:NO completion:^ {[navigationController.viewControllers = @ [pvc]; }];