【问题标题】:Do NSViewControllers live inside NSWindowControllers?NSView 控制器是否存在于 NSWindow 控制器中?
【发布时间】:2015-05-26 20:56:05
【问题描述】:

刚开始学习如何为 Mac 制作应用程序,我有一个关于 NSViewControllersNSWindowControllers 如何协同工作的问题。如果我理解正确的话,NSWindowControllers 是处理与我的应用程序显示的特定窗口相关的所有代码的 Objective-C 类。 NSViewControllers 也是围绕特定视图组的 Objective-C 类。

如果到目前为止我在正确的轨道上,我是否可以为我想要在主窗口中进出的每个视图/屏幕创建一个新的NSViewController?或者我应该将我的视图元素直接添加到NSWindowController 并找出一种方法来根据需要将各个元素换入/换出窗口?

【问题讨论】:

    标签: objective-c macos cocoa interface-builder


    【解决方案1】:

    控制器逻辑的放置位置取决于应用程序、窗口或视图的复杂性。大多数简单的应用程序都将所有内容放入它们的应用程序委托中。基于 NSDocument 的应用程序通常将所有内容放入它们的 NSDocument 子类中……如果您有多个窗口(具有不相似的行为),那么将它们的控制器代码分解为不同的 NSWindowController 子类可能更容易。通常你并不真正需要 NSViewControllers,除非一个视图(或一组视图)的复杂性超过你想要放入一个(可能已经重载的)NSWindowController 的程度。

    在您交换大组(子)视图的情况下,每个(子)视图集都在它们自己的 NSViewController 上工作,这可能会简化事情。

    在这种情况下,NSWindowController 只是充当 NSViewController 控制器... ;-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2013-05-14
      • 1970-01-01
      相关资源
      最近更新 更多