我的初始視圖控制器使用performSegue:withIdentifier
方法,其反過來使用同一performSegue:withIdentifier
方法加載一些其它控制器中的另一個視圖控制器。故事板控制器不解除分配故事板負載
但是,初始視圖控制器和第二個視圖控制器都不釋放。他們都傾向於通過工具看到的參考計數爲1。
我需要在用戶退出應用程序時將用戶發回第一個控制器。我迄今爲止唯一的方法是使用performSegue:withIdentifier
方法並將用戶發送回初始控制器。
但是,對我而言,以前的控制器將不會被釋放。因此,導致再創造相同的視圖控制器。
因爲我需要註銷用戶返回到第一個屏幕,我要確保所有以前的視圖控制器已被釋放。
+1同意。至少有兩個例外:首先,在iOS 6中,您可以執行一個展開順序的「performSegue」。其次,如果使用分割視圖控制器的替換segue,它同樣沒有關係。但是你絕對正確,你永遠不需要一套循環推/模態的賽段。 – Rob 2013-03-21 14:52:32
感謝您確認我的想法。雖然你的答案更完整,所以+1。我以前沒有聽說過放鬆,而且看起來很不錯。快速回答你鏈接到的答案:在第3步中,你說「在視圖控制器A的.m中實現動作」,它不應該是B而不是A嗎? – rdurand 2013-03-21 15:12:53
不可以,不可以。您可以在視圖控制器中定義放鬆動作,以便放鬆(否則,如果您有一打以前的場景,它將如何知道哪一個?)。 IB確定所有先前的場景及其相關的視圖控制器,掃描.m文件進行放鬆操作,抓取這些名稱,並在最後一個場景中列出那些您嘗試添加放鬆繼續。順便說一下,這也是爲什麼我喜歡給我放鬆行爲有意義的名字,以便當你使用它們時,你可以清楚地知道你正在展開的場景。 – Rob 2013-03-21 15:18:44