2014-09-22 58 views
0

我目前有我的第一個應用程序,它使用故事板。從第一個角度來看,我可以在返回到開始之前深入8個模型視圖。Xcode使用XIBs非模態地移動到視圖控制器

我認爲使用XIB(不是故事板)更適合我的應用程序。我想學習如何在代碼中完成所有的觀點,但所有的書籍和教程都將代碼視爲黑色瘟疫。如果沒有人再教導,很難學習。

我對我的8個深層模態字符串的關注是,內存被每個視圖佔用,直到我回到起點才釋放 - 在我回退時釋放每個視圖。

我的應用程序是一個狀態機(所以我想簡單地從一個視圖移動到另一個視圖),釋放視圖的所有方面。隨着我從一個國家轉移到另一個國家,我轉移到下一個版本時釋放當前視圖。

有人能指出我正確的方向嗎?

謝謝。

回答

0

你有幾個選擇。您可以創建一個自定義容器控制器(在運行期間存在),並切換出嵌入了哪個控制器。只要你沒有指向你替換的那個,它就會被釋放。

一個更簡單的解決方案,但我不太喜歡使用的解決方案是將窗口的根視圖控制器替換爲您要去的下一個控制器,這也會導致替換的控制器被釋放。

+0

謝謝。我沒有想到或不瞭解你說的兩個選項。我想過的其他選擇是讓主視圖控制器成爲狀態機經理。當視圖退出並返回到主視圖時,它可以返回一個狀態變量變量,它將告訴主要什麼下一個視圖將被激活。這將減少我的內存使用情況,因爲任何時候只有兩個視圖在內存中。 – JHinkle 2014-09-22 02:57:59

+0

@JHinkle,你可以用自定義容器控制器來做到這一點 - 它可能是你的狀態機管理器。 – rdelmar 2014-09-22 05:51:56