Objective C:何时在 App Delegate 中使用方法以及何时在 View Controller 中使用方法
Posted
技术标签:
【中文标题】Objective C:何时在 App Delegate 中使用方法以及何时在 View Controller 中使用方法【英文标题】:Objective C: When to use methods in App Delegate and when to use methods in View Controller 【发布时间】:2011-04-07 04:33:41 【问题描述】:我对 View Controller 和 App 委托类中的以下方法有点困惑
App 委托中的方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
ViewController 中的方法:
- (void)viewDidLoad
什么情况下需要在appdelegate或者ViewController方法中添加代码?我认为对于视图的切换,我们需要将其包含在 app 委托方法中,有什么我们需要遵守的经验法则吗?
谢谢!
镇
【问题讨论】:
【参考方案1】:在启动时调用,application:didFinishLaunchingWithOptions:
通常包含初始化应用程序的逻辑(例如设置核心数据对象、注册推送通知等)。另一方面,viewDidLoad
的目的是在视图控制器显示之前对其进行初始化。
【讨论】:
【参考方案2】:application:didFinishLaunchingWithOptions: 应该用于启动应用程序时必须进行的设置,例如
核心数据堆栈 恢复应用程序状态 创建应用程序导航控制器或标签栏viewDidLoad 应该用于只需要为特定视图控制器完成的任何配置。在某些情况下,视图可能无法加载,因此在应用委托中进行该配置是没有意义的。
例如
在视图加载时打开 HTTP 连接 请求查看位置数据【讨论】:
以上是关于Objective C:何时在 App Delegate 中使用方法以及何时在 View Controller 中使用方法的主要内容,如果未能解决你的问题,请参考以下文章
Objective C如何在App内部调用外部dylib 和 framwork
使用 Objective C iOS App 在 textview 中显示 JSON 值