Xcode 3.1中缺少AppDelegate文件?

时间:2010-01-16 09:14:11

标签: objective-c cocoa xcode macos

我目前正在开始学习Xcode和objective-c,目前正在阅读有关该主题的三本不同的书籍。所有这些书都引用了一个名为“AppDelegate”的文件(My_First_ProjectAppDelegate.m,My_First_ProjectAppDelegate.h),这些文件被称为“用Project创建”(我正在创建一个“Cocoa应用程序”)。创建新项目时,这些文件不存在。我似乎并不是唯一遇到此问题的人(见http://pragprog.com/titles/dscpq/errata)。

有关于AppDelegate的更多信息吗?如何处理丢失的Appdelegate目前的做法是什么?我在Mac OSX Leopard上使用Xcode版本3.1.4。

3 个答案:

答案 0 :(得分:13)

AppDelegate只不过是一个在MainMenu.xib中需要连接的常见NSObject类。您可以轻松地重新创建自己的:

  1. 创建一个类,将其命名为AppDelegate
  2. 打开MainMenu.xib并将NSObject对象添加到对象选项板
  3. 在对象检查器的“标识”选项卡(最后一个)中,将对象的类设置为AppDelegate(您应该获得自动完成)
  4. Ctrl +从Application对象拖动到新创建的AppDelegate对象,然后从打开的面板中选择“delegate”。

答案 1 :(得分:2)

我记得,默认情况下只有iPhone模板提供委托类。这不是一个大问题,但我可以看到,如果你只是在学习,你将如何关注。您确定您正在阅读的内容与MacOS应用程序有关,而不是Iphone吗?

您始终可以手动创建自己的委托类。您可以像往常一样创建一个类,然后将其设置为Interface Builder中NSApplication的委托。

答案 2 :(得分:2)

我认为混淆来自您正在使用的XCode版本。

Xcode版本3.2在创建新项目时更改了默认行为:它现在为您的项目创建了一个AppDelegate。我不记得早期版本做了什么,但它有所不同。

正如Eimantas所说,如果您想使用AppDelegate,那么您可以按照他描述的步骤创建一个。