xcode:在默认的“基于视图的应用程序”模板中实例化的dummyViewController在哪里?

时间:2011-01-03 18:57:55

标签: xcode ios viewcontroller

如果我在xcode中创建一个新项目,然后选择“基于视图的应用程序”,则会自动生成委托和视图控制器类模板。这是DummyAppDelegate.h的一个片段

@class dummyViewController;

@interface dummyAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    dummyViewController *viewController;
}

我的主要问题是:实例变量viewController在哪里实例化?我在生成的文件中看不到这个代码,所以InterfaceBuilder中的某些连接会自动实例化吗?

第二个,较小的问题是为什么在上面的代码中使用@class而不是简单的

#include "dummyViewController.h"

非常感谢任何帮助,非常感谢!

1 个答案:

答案 0 :(得分:0)

窗口,视图控制器以及应用程序委托都是从MainWindow.xib加载的。加载NIB文件后,您在NIB文件中放置的任何对象都会被实例化。通过在应用程序的Info.plist中指定MainWindow.nib,您可以告诉Cocoa(实际上,UIApplication实例)在应用启动时自动加载该文件。

@class ...语句是所谓的前向声明。它被认为是很好的编程实践,因为它的使用可以缩短编译时间(需要导入的头文件越少,编译步骤就越快)。