我目前正在對建立根據用戶控制器的堆棧的應用程序。壓入和彈出多個視圖控制器會導致隨機崩潰
基本上,我有一個UIViewController
有一個UIButton
導致另一個UIView Controller
;有一個通向另一個視圖控制器的按鈕等等。視圖控制器被推入,當用戶總是按下按鈕時,我得到一堆多個視圖控制器。只要用戶想要返回到前一個視圖控制器,視圖就會彈出。
一切運作良好(push和pop)。但是,在隨機的情況下,應用程序會崩潰。我注意到它發生在已經推出大量視圖的情況下,並且我懷疑它可能是內存問題。
我的問題是,比推視圖控制器等,有一種替代,這樣我可以避免堆疊視圖?這也可能是因爲崩潰不是因爲堆疊視圖,而是因爲我只是錯過了某些東西?日誌中沒有錯誤,因此我無法瞭解發生了什麼,我也是iOS開發新手。
非常感謝!
編輯1:沒有在日誌中沒有任何錯誤,但在應用程序崩潰,有這樣一條消息:
Thread 1: EXC_BAD_ACCESS(code = 1, address = 0xd000000c)
編輯2:這是怎麼了推控制器:
CustomController *custom = [self.storyboard instantiateViewControllerWithIdentifier:@"Custom"];
[self.navigationController pushViewController:custom animated:YES];
而且我這是怎麼彈出它當按下後退按鈕:
[self.navigationController popViewControllerAnimated:YES];
編輯3:該計劃使殭屍對象後,我開始多個push和pop後此消息:
嵌套推動畫可以導致損壞的導航欄 整理了在一個意想不到的導航過渡州。導航欄子視圖樹可能會損壞。 對於開始/結束外觀轉換的不平衡呼叫
這些消息是否表示問題實際上是用動畫推動控制器?感謝大家!
編輯4:我會嘗試修改問題,使其更具描述性 這是我的設置:
控制器A顯示對應於不同地方的圖標。您可以點擊圖標推控制器B和顯示細節位置A.
控制器B顯示有關位置的信息一,用一個按鈕來表明現在顯示的圖標接近位置A的位置現在控制器A,你可以再次點擊一個圖標,比如位置B,並顯示詳細信息等等。
當用戶按下返回按鈕,它應該顯示前一視圖控制器。這就是我使用push和pop的原因。有沒有更好的方法來處理這個過程。再次感謝!
你使用ARC嗎?你如何推UIViewControllers?我用推,流行,它運作良好。 Tr 我打開'所有異常斷點',它會告訴你哪裏崩潰。 – nmh
是的。我正在使用ARC。我更新了這篇文章,以展示我如何推動和彈出觀點。其實,當我推動和彈出時,我得到了正確的迴應。但是,當我測試應用程序持續推送和流行時,應用程序崩潰。我會在斷點處做你所說的,並且儘快更新。非常感謝您的回答! – ryan13