我对Objective-C和cocoa编程很新,所以我不太了解App Delegates的概念。
当我们创建一个cocoa应用程序时,我们是否将代码(方法,操作,出口)存储在App Delegate文件中,或者我们是否创建了一个新文件,它将从那里充当控制器和代码。现在,我将所有代码都放在这两个文件中,但从我读到的内容来看,你的目标是尽量使你的App Delegate文件尽可能地模糊。
我的问题是:应用委托文件的用途是什么?
答案 0 :(得分:2)
谈论applicationDidFinishLaunching:
:
这只是您的应用程序入口点。通常,您只需在此处创建窗口和第一个ViewController,或Tabbar - 您的主要起始接口类。
NSApplicationDelegate
的所有其他委托方法当然都有其他功能。其中大部分都是重点,您可以对应用程序的状态做出反应。打开/关闭/背景/重新打开等
但你应该看一下iPhone文档中的编程教程。关于如何构建objc项目有很多信息。例如。看这里:Start Developing iOS Apps Today
或者,如果您正在寻找OSX应用程序,请查看此处:
1)Your First Mac App
2)Mac App Programming Guide
还有一堆Sample code。
答案 1 :(得分:1)
App Delegate是处理应用程序上发生的事件的处理程序位置。像打开和关闭的东西。它也会在应用程序执行的整个过程中挂起,您可以通过[[NSApplication sharedApplication] delegate]
随时获取单例实例。
这对于在控制器之间处理对象以及充当事件的路由器非常有用。如果您需要在代码的不同部分修改/访问它,您还可以在委托上存储一些数据。
这一切都适用于简单的应用程序,但随着事情变得更加复杂,您需要分工。 AppDelegate实际上应该只对应用程序本身发生的操作负责,而不是对另一个视图或控制器上的操作负责。将所有/大部分代码放在AppDeligate中肯定是不好的做法,并且会因为事情变得更加复杂而需要维护而导致可怕的代码。