基本:查看控制器层次结构

时间:2013-05-24 11:12:37

标签: iphone uiviewcontroller presentmodalviewcontroller pushviewcontroller

在第一个视图控制器A中,我调用“presentModalViewController”,然后立即将B视图控制器添加到屏幕。

问题是,“A”视图控制器是否仍然在内存中?这意味着,在我将“B”视图控制器弹出屏幕后,是否会调用viewDidLoad方法?

那么调用pushModalViewController方法呢?第一个视图控制器会留在内存中吗?

1 个答案:

答案 0 :(得分:0)

首先,您无法推送或呈现视图,它必须是UIViewController。 其次回答你的问题是正确的,当推或呈现“B”ViewController时,“A”仍然留在内存中。 当“B”ViewController弹出堆栈时,“A”的viewDidLoad不会被调用。 如果你想要一个ViewController中的函数,那应该总是调用,那么你可以使用

-(void)viewWillAppear:(BOOL)animated
-(void)viewDidAppear:(BOOL)animated

即使在弹出“B”ViewController后,也会调用它们。