Cocoa 如何处理多个视图?

Cocoa 如何处理多个视图?,cocoa,nsview,nswindow,Cocoa,Nsview,Nswindow,我很抱歉,我已经使用故事板在iOS上做了一些开发。现在,我正在为MacOSX构建应用程序,似乎不存在与情节提要等效的应用程序 例如,我需要构建某种向导,它包含四个不同的窗口或视图(步骤1到4) 目前,我已经创建了一个窗口xib(标准MainMenu.xib),其中包含一个包含第一个视图的窗口和三个其他自定义视图。使用这种方法,我可以创建出口和操作,使我能够更改窗口的contentView,例如在单击按钮时。这似乎是一个公平的解决方案,我的观点都被清晰地分组在一个xib中。但这也会导致所有视图的逻

我很抱歉,我已经使用
故事板
在iOS上做了一些开发。现在,我正在为MacOSX构建应用程序,似乎不存在与<代码>情节提要等效的应用程序

例如,我需要构建某种向导,它包含四个不同的窗口或视图(步骤1到4)

目前,我已经创建了一个窗口xib(标准MainMenu.xib),其中包含一个包含第一个视图的窗口和三个其他自定义视图。使用这种方法,我可以创建出口和操作,使我能够更改窗口的contentView,例如在单击按钮时。这似乎是一个公平的解决方案,我的观点都被清晰地分组在一个xib中。但这也会导致所有视图的逻辑都应由同一文件的所有者处理,对吗?例如,保存每个步骤的设置并控制不同视图之间的交互


处理这种情况的首选方法是什么?我是否应该创建四个不同的窗口,或者在四个不同的xib文件中?如果您知道internet上的某个示例项目显示了如何处理多个窗口,请给我一个提示。

您可以为此使用NSViewController类。每个视图控制器将负责加载与其关联的xib,并且与视图关联的所有逻辑都可以进入控制器内部(与iOS中相同)。在初始化所需的视图控制器后,MainMenu.xib现在可以加载适当的视图

下面是一个示例应用程序供您参考。

在xcode中,转到文件->新建->新建文件 添加一个objective C类并将其设置为“NSViewController”的子类。 这将创建yourController.h、yourController.m和yourController.xib。 现在您可以将视图与其控制器类分开