现在请看视图控制器的生命周期方法(lifecycle method),其中一部分方法读者之前遇到过:
•application:didFinishLaunchingWithOptions在该方法中设置和初始化应用窗口的根视图控制器。该方法只会在应用启动完毕后调用一次,之后如果从其他应用切换回本应用,则该方法不会再次被调用。如果关闭应用后台进程(双击Home键可以打开后台进程栏)并重新启动应用,该方法才会再次被调用。
•initWithNibName:bundle该方法是UIViewController的指定初始化方法,创建视图控制器时,就会调用该方法。请注意,某些情况下,需要在同一个应用中创建多个相同的UIViewController子类对象,每次创建一个该类的对象时,都会调用一次该类的initWithNibName:bundle:方法。
•loadView可以覆盖该方法,使用代码方式设置视图控制器的view属性。
•viewDidLoad可以覆盖该方法,设置使用NIB文件创建的视图对象。该方法会在视图控制器加载完视图后被调用。
•viewWillAppear可以覆盖该方法,设置使用NIB文件创建的视图对象。该方法和viewDidAppear:会在每次视图控制器的view显示在屏幕上时被调用;相反,viewWillDisappear:和viewDidDisappear:方法会在每次视图控制器的view从屏幕上消失时被调用。因此,如果打开HypnoNerd应用并在Hypnosis和Reminder两个标签项之间来回切换,那么BNRReminderViewController的viewDidLoad方法只会被调用一次,而viewWillAppear:方法会被调用很多次。