xcode:在默认的 "View-based Application"模板中实例化 dummyViewController 在哪里?

标签 xcode ios viewcontroller

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

@class dummyViewController;

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

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

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

#include "dummyViewController.h"

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

最佳答案

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

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

关于xcode:在默认的 "View-based Application"模板中实例化 dummyViewController 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4587348/

相关文章:

swift - 第二次生成没有完全相同数字的随机数

ios - Facebook API iOS 5.1 示例?

iphone - ViewController 的问题

ios - 如何从其他 ViewController 启用 leftBarButtonItem?

ios - 如何调试带有附件的 IOS 应用程序

ios - 'top-level directory'(应用程序包上下文)是什么意思?

ios - tableView.reloadData() 添加了一个它不应该做的 UIView

ios - JTAppleCalendar - 如何停止单元格随机重复?

IOS,Swift,无法访问 NSURLSession 中的主线程

ios - 如何检查 View Controller 是否在导航 Controller 中的其他页面按下后退按钮后出现?