SIGBART NSInternalInconsistencyException尝试在转换过程中进行转换

时间:2010-12-17 18:35:01

标签: xcode animation transition presentmodalviewcontroller

我正在扩展Appirater(一个独立的课程,向用户提供UIAlertView以征求您的应用的评级),添加一个按钮,当被选中时将关闭警报,并调出MFMailComposerViewController以便用户可以通过电子邮件发送反馈。

我的实现是在Appirater中发布通知,然后从侦听通知的viewController中使用[self presentModalViewController:vc animated:YES]。那个viewController是我所有主要viewControllers的超类。

它在一个主视图控制器中工作,但其他viewControllers中的崩溃是当前的viewController,我在控制台中看到以下警告:

  

2010-12-17 11:27:59.632   Wine.com [18514:207] * 终止   应用程序由于未捕获的异常   'NSInternalInconsistencyException',   理由:'试图开始一个模态   过渡到    虽然转型是   已经在进行中。等待   viewDidAppear / viewDidDisappear知道   目前的转型已经完成了'

我试图推迟从Appirater发送通知,但这似乎没有帮助。

思想/指针?

2 个答案:

答案 0 :(得分:0)

点击UIButton打开Modal View时出现类似错误。我将UIButton's听众从UIControlEventAllEvents更改为UIControlEventTouchUpInside。基本上,它是在Touch Down Inside上触发模态视图,然后尝试在Modal View上创建另一个Touch Up Inside实例。

答案 1 :(得分:0)

问题在于,通过在超类中实现它,我需要确保只有当前活动的viewController处理通知,而不是全部5个。