Objective c NSViewController是否位于NSWindowController内部?

Objective c NSViewController是否位于NSWindowController内部?,objective-c,macos,cocoa,interface-builder,Objective C,Macos,Cocoa,Interface Builder,刚开始学习如何为Mac制作应用程序,我就有一个问题,关于NSViewControllers和NSWindowControllers如何协同工作。如果我理解正确,nsWindowController是Objective-C类,它处理与我的应用程序显示的特定窗口相关的所有代码NSViewControllers也是围绕特定视图组的Objective-C类 如果到目前为止我的思路是正确的,那么为我想在主窗口内外交换的每个视图/屏幕创建一个新的NSViewController对我来说有意义吗?或者我应该直

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


如果到目前为止我的思路是正确的,那么为我想在主窗口内外交换的每个视图/屏幕创建一个新的
NSViewController
对我来说有意义吗?或者我应该直接将我的视图元素添加到
NSWindowController
中,并根据需要找出一种方法来交换窗口中的各个元素?

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

在您的情况下,如果您交换大组(子)视图,并且每个(子)视图集都使用自己的NSViewController,则可能会简化事情

在这种情况下,NSWindowController仅充当NSViewController控制器…;-)