Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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_Xcode_Macos_Interface Builder - Fatal编程技术网

Objective c 如何复制已创建的窗口?

Objective c 如何复制已创建的窗口?,objective-c,xcode,macos,interface-builder,Objective C,Xcode,Macos,Interface Builder,因此,我正在为OSX制作一个xcode应用程序,到目前为止一切进展顺利。然而,现在我遇到了一个障碍。我的应用程序主要是一个窗口,我需要多次创建该窗口,就像Safari、TextEdit等应用程序都具有文件>新建功能一样。我是Xcode新手,我想知道是否有一种简单的方法(希望有3-4行代码)可以做到这一点。如果有人能向我解释一下,那就太好了 谢谢 启动一个新的OS X项目并选择“创建基于文档的应用程序”。这将创建一个NSDocument子类 如果你想使用核心数据,也要选择它。这将创建一个NSPer

因此,我正在为OSX制作一个xcode应用程序,到目前为止一切进展顺利。然而,现在我遇到了一个障碍。我的应用程序主要是一个窗口,我需要多次创建该窗口,就像Safari、TextEdit等应用程序都具有文件>新建功能一样。我是Xcode新手,我想知道是否有一种简单的方法(希望有3-4行代码)可以做到这一点。如果有人能向我解释一下,那就太好了


谢谢

启动一个新的OS X项目并选择“创建基于文档的应用程序”。这将创建一个
NSDocument
子类

如果你想使用核心数据,也要选择它。这将创建一个
NSPersistentDocument
子类

这将为您的应用程序提供所需的所有功能的基础

看一看

无论你做什么,都不要试着自己烤。疯狂就在那里


项目模板正确地设置了
info.plist
,以实现这一目标。

不管我告诉你什么,不幸的是,它不会只涉及“3-4行代码”

如果您使用的是一个非基于文档的应用程序,那么您需要考虑创建一个窗口的代码。如果您没有将窗口控制器与窗口配合使用,则应该实现一个。然后可以实现一个操作,该操作将创建窗口控制器的新实例,从而创建一个新窗口。当然,如果您想将与窗口关联的信息保存到文件中,您需要添加更多的基础结构

这就引出了您的另一个选择,即创建基于文档的应用程序。这里最大的优点是,如果您有兴趣将窗口内容保存到文件中,那么提供了这样做的基础结构。这在某种程度上需要重新开始,但由于您已经具备了应用程序的能力,您只需将这些能力转移到为您提供的文档子类中即可。您还需要向项目提供描述文档类型的元信息,包括描述文档的文件扩展名


祝你万事如意。

我曾试着自己做过一个P我提出的申请。。。我可以从中复制内容并粘贴到基于文档的应用程序中吗?应用程序代理如何?重新剪切并粘贴。你想做什么就做什么。项目模板是一个初学者工具包。应用程序代理与应用程序代理相同。如果需要,请创建并使用它。我想模板在MainMenu中有一个ref.xib我是让文件的所有者成为我窗口的代理还是应用程序的代理?