已經工作了很長時間,試圖找到修復我的崩潰。不知道這是我的一個基本設計缺陷還是可以輕鬆解決的問題。解除模態ViewController返回到導航控制器堆棧嵌入TabBarController導致崩潰
我的應用程序在TabBarController中嵌入了NavigationController。當我以模態方式呈現來自NavigationController的根視圖控制器的視圖時,它可以毫無問題地呈現和解散。
但是,當我從navigationController的根ViewController向前導航到導航堆棧並推送其他控制器,然後返回到根ViewController時,我再次嘗試模態表示。這一次它表現良好,但當我解僱它時,我的應用程序崩潰,出現EXC_BAD_ACCESS錯誤。
經過一段時間的調試後,我發現當模式化的ViewController被解僱時,它試圖訪問導航Heiarchy中已經被解散並因此崩潰的ViewController。儘管它是從導航堆棧的根視圖控制器提供的。
它引起了我很多的悲痛,並想知道是否有人遇到類似的東西。任何幫助將不勝感激。提前致謝。
這裏是一個發生AlertController塊內的演示:
let createNewMemoAction = UIAlertAction(title: "Create New Memo", style: .Default) { (action: UIAlertAction!) -> Void in
self.performSegueWithIdentifier("Segue To Create New Memo", sender: nil)
}
我使用的是開卷駁回的viewController。我試圖用下面的代碼駁回使用相同的錯誤:
@IBAction func cancelButtonPressed(sender: UIBarButtonItem) {
dismissViewControllerAnimated(true, completion: nil)
}
感謝
請分享您提交和解除視圖控制器的代碼。 –
我可以看到模態視圖的呈現視圖控制器是tabbarcontroller。我不知道這是什麼原因導致問題或如何解決這個問題。 – alionthego
剛剛編輯提交和解僱代碼。從AlertController Action的塊內提供。 – alionthego