Xcode的应用程序模板设置MainMenu.xib
用来装载NSApp
作为其所有者。这是通过NSApplicationMain
函数完成的。 NSApplicationMain
在应用的Info.plist
文件中查找NSMainNibFile
密钥。如果找到该键,它将使用相应的值作为要加载的nib文件的名称。 Xcode的应用程序模板将NSMainNibFile
设置为MainMenu
。
它不必这样做。您可以更改或删除Info.plist
中的NSMainNibFile
条目。你甚至可以使用而不是使用NSApplicationMain
。相反,您可以自己初始化NSApp
(通过调用[NSApplication sharedApplication]
),然后以编程方式或通过加载nib来创建用户界面,然后致电[NSApp run]
。
笔尖加载器只能将插口连接到它所加载的笔尖或文件的所有者,第一响应者或应用程序中的对象。出口本身不必位于文件所有者;它可以放在笔尖上的任何物体上。
当您设置文件所有者的类时,Interface Builder将扫描您的源代码以查找该类的声明。这就是它知道文件所有者应该拥有哪些出口和行为的方式。
应用程序委托通常是应用程序的顶级控制器。当发生各种应用程序级事件时会通知它。看看NSApplicationDelegate Protocol Reference。
在Xcode的应用程序模板,应用程序委托是在MainMenu.xib
一个对象(可以在笔尖非用户界面对象),这是连接到文件所有者的delegate
插座。不管你想要什么,你都可以修改这个类。你甚至可以完全从笔尖删除对象。但任何认真的应用程序都需要一个应用程序委托。
看看这个[Apple Doc - 创建你的第一个iOS应用程序](http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iPhone101/Articles/00_Introduction.html#//apple_ref/ DOC/UID/TP40007514);特别是关于*了解基本设计模式*的部分。它解释了代表团,视图控制器等事情。 – chown
我的理解和说明一样多,我没有得到的是细节 – rubixibuc