我的初始视图控制器使用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