我想知道如果使用PresentViewController从堆栈中释放呈现的viewController,我在文档中找不到任何关于此的信息。
如果没有,DismissViewController会释放以前的viewcontroller吗?
感谢。
编辑:
我不确定你为什么要暂停这个问题。我的问题更具概念性:我需要知道如何从内存中释放UIViewController 。我在iOS文档中找不到任何信息。
答案 0 :(得分:1)
呈现模态视图控制器会将新视图控制器置于上一个视图控制器之上。当您关闭模态时,旧的视图控制器会再次显示。
如果旧的视图控制器被释放,那么当模态被解除时,它将无法再次显示。
答案 1 :(得分:1)
不,执行演示的视图控制器不会被释放,但是它的视图可能会被释放,如果它的视图被释放,那么当呈现的视图控制器被解除时,将再次调用viewDidLoad
。你的代码必须为这种可能性做好准备。
例如,如果您在viewDidLoad
中创建了一个模型对象,那么当它呈现的视图控制器被取消时,该对象可能会被销毁并被新实例替换。
答案 2 :(得分:0)
呈现视图控制器不会释放呈现视图控制器。为什么会这样?
当然,解除所呈现的视图控制器不会释放原始呈现视图控制器,但它肯定会导致被解除的视图控制器被释放。如果不是,则存在问题。典型问题是所呈现的视图控制器中的参考周期。