2

我对 View Controller 和 App 委托类中的以下方法有点困惑

App委托中的方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

ViewController 中的方法:

- (void)viewDidLoad 

什么情况下需要在 app delegate 或者 ViewController 方法中添加代码?我相信对于视图的切换,我们需要将它包含在应用程序委托方法中,有什么我们需要遵守的经验法则吗?

谢谢!

4

2 回答 2

3

在启动时调用它,application:didFinishLaunchingWithOptions:通常包含初始化应用程序的逻辑(例如设置核心数据对象、注册推送通知等)。viewDidLoad另一方面,目的是在显示之前初始化视图控制器。

于 2011-04-07T04:39:30.577 回答
2

application:didFinishLaunchingWithOptions:应用于启动应用程序时必须进行的设置,例如

  • 核心数据栈
  • 恢复应用程序状态
  • 创建应用程序导航控制器或标签栏

viewDidLoad应该用于只需要为该特定视图控制器完成的任何配置。在某些情况下,视图可能无法加载,因此在应用程序委托中进行该配置是没有意义的。

例如

  • 视图加载时打开 HTTP 连接
  • 要求查看位置数据
于 2011-04-07T04:49:37.570 回答