Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何使用NSWindowController?_Cocoa_Nswindowcontroller - Fatal编程技术网

Cocoa 如何使用NSWindowController?

Cocoa 如何使用NSWindowController?,cocoa,nswindowcontroller,Cocoa,Nswindowcontroller,我正在考虑使用NSWindowController,但我想不出如何让它工作。如何开始使用它?在不知道您要做什么的情况下,很难回答这个问题。但是,如果您正在编写基于文档的应用程序,则会为您创建的每个窗口自动创建一个NSWindowController,因此您不需要专门创建一个 使用NSWindowController的方法是为应用程序中的每种类型的窗口创建不同的子类。例如,我可能有一个带有AppWireframeWindowController和AppPreviewIndowController的

我正在考虑使用NSWindowController,但我想不出如何让它工作。如何开始使用它?

在不知道您要做什么的情况下,很难回答这个问题。但是,如果您正在编写基于文档的应用程序,则会为您创建的每个窗口自动创建一个NSWindowController,因此您不需要专门创建一个


使用NSWindowController的方法是为应用程序中的每种类型的窗口创建不同的子类。例如,我可能有一个带有AppWireframeWindowController和AppPreviewIndowController的3D应用程序。每个子类自动加载正确的nib文件,并且具有将文档数据与nib中的视图挂钩的代码。

如果您使用的是故事板,则可以在IB中连接NSWindowController子类。否则,如果您使用的是nib,并且只有Mac Cocoa应用程序的默认模板,则可能需要在代码中创建它,或者只使用NSWindow的子类

否则,您可以创建一个新的NSWindowController并选中“还为用户界面创建XIB文件”,它将为您提供nib以及NSWindowController子类。它基本上是一个新的nib,“文件的所有者”是您的NSWindowController,窗口是NSWindowController中的.Window对象,委托也指向那里


您可以对此进行修改。

否,不会为您创建的每个窗口自动创建NSWindowController。它是为每个文档自动创建的,但如果您直接创建窗口,或加载带有窗口的nib,则两个操作都不会创建窗口控制器。NSWindowController是否与NSDocument一起使用?