在Xcode项目中,App Delegate 的作用是什么?

5

好的,当我创建一个新的Cocoa项目时,总是会为我创建两个文件。那就是名称AppDelegate文件的.h.m文件。我读了很多有关Cocoa的书籍以及来自苹果公司的文档,告诉我要创建新文件而不是使用它们。这两个文件的作用是什么?删除它们是否安全?

2个回答

11
不要删除 App Delegate!它处理应用程序的主要“委托”通知,例如:
  • 应用程序加载完成并准备好添加第一个控制器时:

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

  • 应用程序终止时:

    -(void)applicationWillTerminate:(UIApplication *)application;

请查看此 链接 以获取有关 app delegate 的更多信息。 应用程序委托是项目中最重要的文件之一!

基本上,应用程序委托具有对“窗口”的引用,然后在“didFinishLaunchingWithOptions”中,这是您知道应用程序已完成启动并且可以添加您的第一个视图控制器(或任何其他类型的控制器)的位置。此外,如果您在项目中使用Core Data,则应用程序委托将设置所有对持久存储协调器、托管对象上下文和托管对象模型的引用。 - jodm
谢谢,我需要在appdelegate中添加任何代码吗?并且我可以删除MainMenu.xib中已经创建的对象吗? - TheAmateurProgrammer
保留mainwindow.xib,这里有在应用程序委托中@synthesize的“window”,也是您要添加子视图的地方。您需要添加到应用程序委托的唯一代码是alloc/init根视图控制器并将其添加到窗口中,还可能需要添加响应uilocalnotifcations、推送通知和执行应用程序终止时的操作(如保存plists)的代码。基本上,应用程序委托处理整个应用程序的生命周期。 - jodm
http://goo.gl/CFiOQ - 苹果官方关于应用程序生命周期和应用程序代理的文档。 - jodm

0

ProjectNameAppDelegate.hProjectNameAppDelegate.m文件在项目创建时会自动生成。这些是最先执行的文件。将它们视为应用程序的引导程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接