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
Objective c 在基于文档的应用程序中维护单独的非文档窗口_Objective C_Cocoa - Fatal编程技术网

Objective c 在基于文档的应用程序中维护单独的非文档窗口

Objective c 在基于文档的应用程序中维护单独的非文档窗口,objective-c,cocoa,Objective C,Cocoa,在一个基于文档的Cocoa应用程序(苹果文本编辑示例作为基本代码)中,我需要一个单独的窗口,该窗口必须在启动时初始化,并在应用程序终止时关闭。此窗口应位于单独的笔尖中,并可通过菜单进行访问,以隐藏并再次将其置于前面。 我阅读了有关NSWindows和NSWindowController的内容,但对于我混合使用的基于文档的应用程序和永久性非文档窗口的做法,没有找到合适的解决方案 因此,我对这种方法有两个问题: 1.如何在启动时初始化非文档窗口? 2.如何将具有打开/关闭操作的菜单连接到该窗口 我自

在一个基于文档的Cocoa应用程序(苹果文本编辑示例作为基本代码)中,我需要一个单独的窗口,该窗口必须在启动时初始化,并在应用程序终止时关闭。此窗口应位于单独的笔尖中,并可通过菜单进行访问,以隐藏并再次将其置于前面。 我阅读了有关NSWindows和NSWindowController的内容,但对于我混合使用的基于文档的应用程序和永久性非文档窗口的做法,没有找到合适的解决方案

因此,我对这种方法有两个问题:
1.如何在启动时初始化非文档窗口?

2.如何将具有打开/关闭操作的菜单连接到该窗口

我自己回答我的问题:

威勒克给我指出了正确的方向。TextEdit首选项窗口与我想要的类似,因此我查看了TextEdit示例并遵循代码。第二个问题的解决方案(在启动时使窗口可见)也非常简单

windowController的子类中有以下方法:

- (id)init {
        self = [super initWithWindowNibName: @"sampleWindow"];
        if  (self) {
            [self showWindow:self];
        }
        return self ;
} 
我所要做的就是调用
showWindow:


现在,当应用程序启动时,窗口始终打开。简单…

这是一个很大的答案,实现这一点需要大量的代码。你想要文本编辑的首选项窗口吗?嘿,非常感谢你的提示,你救了我一天。这是一个学习如何维护窗口的好例子。但如何让它在发射时可见呢?XCode中的标志没有效果。