gpt4 book ai didi

cocoa - NSApplicationDelegate类设计

转载 作者:行者123 更新时间:2023-12-03 16:15:27 29 4
gpt4 key购买 nike

我已经创建了我的第一个复杂的 OS X 应用程序。在研究它的过程中,我对如何使用实现 NSApplicationDelegate 协议(protocol)的类(Xcode 默认为 Cocoa 应用程序创建的类,即 MyApplicationAppDelegate.m/h)。

在许多教程(和书籍)中,我看到人们创建一个 AppController 类来管理主要或通用应用程序任务。我更喜欢将通用任务直接添加到 MyApplicationAppDelegate 中,并根据我需要管理的模块创建特定的 Controller 。

例如,我将用于打开其他窗口(即打开首选项面板)的每个 IBAction 添加到 MyApplicationAppDelegate 中,每个函数与特定的没有严格连接主界面的模块/ Controller 和IBOutlet。在 MyApplicationAppDelegate 中,我还添加了对应用程序中使用的 Controller 的每个引用。基本上就是这样。

我真的很困惑,因为我不确定这是否是好的设计。 MyApplicationAppDelegate 是否被设计用于其他目的?

我想要任何建议,如果可能的话,我想要任何您可能知道的有关 Cocoa 设计模式的文章。

最佳答案

默认情况下,Xcode 不会在 Cocoa 应用程序模板中创建应用程序委托(delegate)类。

我相信苹果只是引入了自动创建 <AppName>_AppDelegate最近使用他们的项目模板进行了类(class),可能是 3.2 版本左右。

这就是为什么许多旧书籍和教程都要求您创建 AppController类,因为旧的项目模板没有为您创建类。

您可以自由使用<AppName>_AppDelegate作为您的主 Controller 类,Apple 将其添加到其模板中的原因是许多开发人员使用 NSApplicationDelegate对象作为其主要应用程序 Controller 。

这本书名为 Cocoa Design Patterns,是了解更多有关 Cocoa 设计模式的优秀资源。 .

关于cocoa - NSApplicationDelegate类设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254709/

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