在iPhone编程期间我们何时使用AppDelegate.m和AppDelegate.h可以告诉我吗?我只使用ViewController.m和ViewController.h进行基本学习。我只是想知道AppDelegate的使用时间和原因。谢谢。 !!
答案 0 :(得分:22)
两者都定义了类,但这些类用于不同的事情。 ViewController.h / m定义了一个视图控制器类,用于管理视图层次结构 - 基本上是应用程序的一个屏幕。您可能有多个屏幕,每个屏幕都有自己的视图控制器。
AppDelegate.h / m定义了一个整体管理应用程序的类。该应用程序将创建该类的一个实例,并发送该对象消息,让委托在明确定义的时间影响应用程序的行为。例如,-application:didFinishLaunchingWithOptions:在应用程序完成启动时发送,并准备好做一些有趣的事情。请查看UIApplicationDelegate reference page以获取应用程序委托可以实现的消息列表,以修改应用程序的行为。
答案 1 :(得分:18)
我想将以下内容添加到@ Caleb的答案中。
如果不小心,AppDelegate很容易成为应用程序中访问量最大的对象之一。我通常不会从任何ViewControllers中调用AppDelegate中的方法。除非需要向AppDelegate报告会影响整个应用程序行为的内容。
我将AppDelegate保留以下内容:
对于其他用例场景以及对AppDelegate的更多描述,请参阅iOS Application Programming Guide。
答案 2 :(得分:6)
视图控制器。 h / m负责控制模型和视图之间的连接(更多关于 MVC here)。
<强>的AppDelegate 即可。 h / m负责您的应用程序的生命周期。当用户按下主页按钮并退出应用程序时应该怎么做,当应用程序进入后台时该怎么做。这样的事情。