2010-05-27 60 views
1

我不明白代码的概念是用在XCode中的。当一个新项目被创建时,一个应用程序委托和一个视图控制器被创建,但是这个应用程序委托是做什么的? main.m如何知道如何调用委托?不了解Cocoa的代理团队

+0

Xcode是一个IDE。委托在Xcode中的使用方式与在任何其他文本编辑器或任何其他编译器中使用的方式相同。你的意思是询问* Cocoa *的代表团。 – 2010-05-28 10:32:04

+0

在那里,我改变了它。 – 2010-05-30 21:21:15

回答

4

main.m不会调用委托。应用程序对象在运行时会这样做,使您可以自定义应用程序的行为,而无需子类或做任何其他有趣的业务。授权Apple框架的一个相当常见的功能;阅读他们的documentationWikipedia page on delegation可能是了解更多信息的好选择。

+0

具体来说,它会查看Info.plist文件以确定在启动时要加载哪个NIB文件,从中创建您的应用程序委托 – 2010-05-27 22:28:46

0

main.m是一个文件。

main.m中的main函数调用NSApplicationMain(或者如果您要问关于Cocoa Touch的问题,可以使用UIKit等效函数)。

NSApplicationMain运行共享的NSApplication对象。

的对象的NSApplication会谈其委托。*

共享的NSApplication对象的委托被调用时,由可可程序员,应用程序委托。

正如Carl Norum建议,您应该阅读the section on delegates in the Cocoa Fundamentals Guide。它将更广泛地解释代表概念;应用程序委托仅仅是一个例子。

*何时完全取决于何时该委托被实例化并指定为应用程序的委托。将它放在MainMenu.nib中,并将它连接到应用程序对象的delegate插座是一种方法。还有其他的,但这是最简单的。