gpt4 book ai didi

objective-c - 界面生成器和 Cocoa : wiring up behind an App Controller class

转载 作者:行者123 更新时间:2023-12-03 17:43:49 24 4
gpt4 key购买 nike

我一直在关注this教程。在编写 App Controller 类,然后在 Interface Builder 中添加并连接时,我遇到了概念上的问题。

Adding the AppController Class The next task is to add an instance of the new class to the Interface Builder document and connect the class outlets.

Create an instance of the AppController class. In the Interface Builder Library window, click Classes. Locate the AppController class. Drag this class into the document window to create an instance named App Controller. Connect the App Controller’s qcWindow outlet to the design window. Hold down the Control key. In the document window, drag from the App Controller to the Window object. Select the qcWindow outlet from the list that appears. Connect the App Controller’s qcView outlet to the QC view in the design window. Hold down the Control key. Drag from the App Controller to the QC view in the design window. Select the qcView outlet from the list that appears.

具体来说,我不明白这个应用程序 Controller 在运行时是如何使用的。我所做的就是在 IB 中连接窗口和 View 导出,它神奇地工作,就像在我的应用程序委托(delegate)的 applicationDidFinishLaunching:aNotification 方法中初始化一样。我的观点是,我没有在代码中的任何地方使用我的 App Controller 类,而我在 IB 中所做的只是连接它的 socket ,那么它是如何工作的呢?

最佳答案

当您的应用程序启动时, NSApplication 的共享实例创建并 MainMenu.xib/nib is loaded及其内容(包括主菜单本身)已连接。在此加载过程中,NSApp 实例的委托(delegate)指向您的“未冻干”(未归档)类,该类(以及其他可能的事情)可以回答 NSApp 委托(delegate)问题,然后开始向它发送消息(并依赖它来为 App 提供服务) -范围内的行为定制)。

这一切的一个有用的方面是,您可以通过 [NSApp delegate] 从应用程序中的任何位置访问委托(delegate)。 ,它是 [[NSApplication sharedApplication] delegate] 的缩写。如果您将它们卡在应用程序委托(delegate)上并为它们提供访问器(例如 [[NSApp delegate] fooController] ),这对于导航架构的各个部分非常方便。

关于objective-c - 界面生成器和 Cocoa : wiring up behind an App Controller class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com