2012-07-02 97 views
0

我希望創建的類中的視圖狀態在我處理應用程序的其他模塊時保留,是否可以在ARC環境中使用。保留視圖

在我看來,如果我進入另一個班級,視圖會被釋放。所以最新的解決方案,讓我知道,以防萬一你知道。

+3

請不要用[tag:arc]標記蘋果自動引用計數問題。相反,請使用[tag:automatic-ref-counting],因爲「arc」預計會被消除:http://meta.stackexchange.com/questions/137914/disambiguate-the-arc-tag –

回答

1

設置視圖爲strong屬性,那麼它不會被釋放

0

在技術上是正確的,認爲可能來,如果它與視圖控制器,在目前不可見相關的釋放。它是通過設計和試圖阻止dealloc的觀點正在與框架戰鬥,這對你的健康不利。

但是,如果您確實想這樣做,您可以保留控制器的方法viewWillDisappear:中的視圖。對於ARC,它只是將視圖分配給伊娃。請注意,當視圖控制器再次出現時,將創建新視圖,並且還需要重寫'loadView'以將現有視圖分配給視圖控制器的視圖。

+0

我做過了,蒂亞告訴,它的工作原理。感謝tia,並且即使在應用程序退出後我也可以保留視圖嗎?或者我可以將視圖存儲到任何外部容器如plist的東西嗎?我也想要這個答案。 – balajivinod

+0

應用程序退出後,您無法保留該視圖,只能保存其狀態並且必須手動完成。例如,如果你有一個只有少量UISwitch的視圖,你可以在'viewWillDisappear:'中將它們的狀態保存爲一個plist,並將其加載到'viewDidLoad:'中。這不是一個微不足道的任務,因爲並不是每個視圖都像示例一樣簡單,所以您可能需要考慮是否值得您付出努力。 – tia