谁能告诉我,在iPhone编程过程中,我们什么时候使用AppDelegate.m和AppDelegate.h?我在基础学习中只用过ViewController.m和ViewController.h。我只想知道什么时候和为什么要使用AppDelegate。
两者都定义了类,但类的用途不同。ViewController.hm定义了一个视图控制器类,该类管理一个视图的层次结构--基本上是一个应用程序的一个屏幕。你可能有多个屏幕,每个屏幕都有自己的视图控制器。
AppDelegate.hm定义一个管理应用程序整体的类。应用程序将创建该类的一个实例,并向该对象发送消息,让委托人在明确定义的时间影响应用程序的行为。例如,-application:didFinishLaunchingWithOptions:是在应用完成启动并准备做一些有趣的事情时发送的。请看一下 UIApplicationDelegate参考页 的消息列表,应用程序委托人可以实现这些消息来修改应用程序的行为。
我想对 @Caleb 的回答补充以下内容。
如果不小心,AppDelegate很容易成为应用程序中访问量最大的对象之一。我通常避免从任何一个ViewControllers调用AppDelegate中的方法。除非,需要向AppDelegate报告一些会影响整个应用程序行为的事情。
我保留我的AppDelegate是为了以下目的。
有关其他用例场景和 AppDelegate 的更详尽描述,请参见《AppDelegate》。iOS应用编程指南.
该 视图控制器......hm负责控制你的模型和你的视图之间的连接(更多关于 MVC 此处).
AppDelegate.hm负责你的应用的生命周期。当用户按下主键退出你的应用时该怎么做,当应用进入后台时该怎么做。这样的事情。