我使用Xcode 9.2创建了一个全新的macOS应用程序,在项目模板中选择了“创建基于文档的应用程序”和“使用核心数据”。
我做了四项改变:
NSPersistentDocument子类:
重写func windowControllerDidLoadNib(_ windowController: NSWindowController) {windowController实体=实体(上下文: managedObjectContext!)entity.name = "TestEntity“entity.content =”测试内容“在这里”Swift.print(“编辑:(self.isDocumentEdited)") //打印"NO”}我以为这足以自动启用文件->保存.菜单项。事实并非如此。它仍然是灰色的。打印的isDocumentEdited值是NO。
但是,当我退出应用程序时,会在一个标准对话框中询问Do you want to save the changes made to the document "Untitled"?。因此,核心数据知道我的更改,但它似乎没有将它们与文档窗口连接起来……?
我在这里错过了什么?要将前台文档窗口与NSPersistentDocument实例关联起来,需要做什么?
发布于 2019-02-10 12:53:15
解决了。在我的新Document.xib中,我遗漏了以下三件事:
Documentwindow属性添加一个引用出口delegate属性向文件所有者添加一个出口https://stackoverflow.com/questions/54616521
复制相似问题