【问题标题】:Insert Outlets in AppDelegate or Custom Cocoa Class?在 AppDelegate 或自定义 Cocoa 类中插入 Outlets?
【发布时间】:2016-06-27 15:58:28
【问题描述】:

我是一名 iOS 程序员,最近转而为 Mac 制作 Cocoa 应用程序。在Xcode创建项目时,似乎有两种选择:

(1) 使用MainMenu.xib 默认值,插入按钮并链接到AppDelegate。我尝试创建一个 NSView 类并链接到该类,但没有成功。

(2) 创建一个NSViewController 类并将来自MainMenu.xib 的视图和任何按钮链接到该类。

在创建具有多个viewswindows 的大型应用程序时,哪种方法更好?

编辑:如果不将任何东西连接到AppDelegate,最好的开始方式是什么?使用xib 创建一个NSWindowController 类并将其视图连接到NSViewController 类?

我想总体而言,我对从哪个类开始以及将哪些元素(窗口、视图、按钮)连接到哪个类文件感到困惑。

【问题讨论】:

    标签: objective-c macos cocoa xcode7


    【解决方案1】:

    您可以在 MainMenu xib 中创建一个窗口对象,并在 AppDelegate 类中创建对它的引用。您将能够访问其中的项目。但这仅适用于一点学习。

    你应该从一个 NSWindowController 开始。第一次尝试,不要制作任何视图控制器。使用 xib 文件并在 NSWindowController 的子类中构建您的第一个窗口。

    在 AppDelegate 中,创建新类的实例并打开它。

    一旦你掌握了这一点,你就可以为你窗口的部分(或全部)视图定义视图控制器。

    如果您需要示例代码,请告诉我,但这是一个很好的练习。

    【讨论】:

    • 经过数小时的谷歌搜索和玩耍后,我终于弄清楚了如何获得我需要的东西。每个视图都保存在一个主 xib 文件中,所有视图都链接在一个 NSViewController 类中。然后每个视图都与 IB 右侧菜单中的 NSView 类相关联。这将所有内容保存在一个 xib 和一个 ViewController 类中,而 AppDelegate 中没有任何内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多