在第一个视图控制器 AI 中调用“presentModalViewController”,然后将 B 视图控制器添加到屏幕上。
问题是,“A”视图控制器是否还在内存中?这意味着,在我将“B”视图控制器弹出屏幕后会调用 viewDidLoad 方法吗?
那么调用 pushModalViewController 方法呢?第一个视图控制器会留在内存中吗?
在第一个视图控制器 AI 中调用“presentModalViewController”,然后将 B 视图控制器添加到屏幕上。
问题是,“A”视图控制器是否还在内存中?这意味着,在我将“B”视图控制器弹出屏幕后会调用 viewDidLoad 方法吗?
那么调用 pushModalViewController 方法呢?第一个视图控制器会留在内存中吗?
首先,您不能推送或呈现视图,它必须是UIViewController
. 其次回答你的问题是真的,当推动或呈现“B”视图控制器时,“A”仍然保留在内存中。
viewDidLoad
当“B” ViewController 从堆栈中弹出时,不会调用“A”的。如果你想要一个 ViewController 中的函数,它应该总是被调用,那么你可以使用
-(void)viewWillAppear:(BOOL)animated
-(void)viewDidAppear:(BOOL)animated
即使在“B” ViewController 被弹出后,这些也会被调用。