将视图控制器推入导航控制器

问题描述:

有时,当我将ViewController推入导航控制器 时,不会调用View Controller的viewDidLoad()方法。 这导致我的应用程序崩溃。我将不胜感激任何帮助。将视图控制器推入导航控制器

我忘了提及我在将它推入导航控制器之前从笔尖加载视图。

谢谢, 萨拉

viewDidLoad方法中,当图。首先从笔尖文件加载时才调用。如果视图已经加载并且再次按下该视图,它将不会再次触发。 取决于你想要做什么,你可能想用viewWillAppearviewDidAppear来代替。

+0

viewDidLoad在ViewController初始化时也会被调用,即使根本没有涉及到XIB。 – mmc 2009-06-30 21:29:09

+0

viewDidLoad在loadView之后立即被调用,这是第一次访问.view属性。 loadView的默认实现会加载一个nib文件(如果您在插入视图控制器时提供了一个nib文件名),但您可以覆盖loadView以在代码中创建视图。 – 2009-06-30 22:37:53

一旦视图加载并添加到控制器的堆栈中,您将看不到再次调用该视图。您需要将视图弹出堆栈并再次推送才能看到它。您始终可以放心viewWillAppear将在您每次返回视图时被调用。这可以让你做任何可能有序的家务(我认为这是目标)。