首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSPersistentDocument和文件菜单项

NSPersistentDocument和文件菜单项
EN

Stack Overflow用户
提问于 2019-02-10 12:45:09
回答 1查看 58关注 0票数 0

我使用Xcode 9.2创建了一个全新的macOS应用程序,在项目模板中选择了“创建基于文档的应用程序”和“使用核心数据”。

我做了四项改变:

  1. 编辑CoreData模型,添加一个名为“entity”的实体,其中包含两个字符串属性,即'name‘和'content’。
  2. 使用"Editor->Create NSManagedObject子类“为实体生成方便的方法。
  3. 将默认的Window.xib替换为新的空Window.xib。
  4. 在Document.swift中添加了以下代码,其中包含我的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实例关联起来,需要做什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-10 12:53:15

解决了。在我的新Document.xib中,我遗漏了以下三件事:

  1. 文件的所有者->类需要设置为Document
  2. 我需要向文件所有者window属性添加一个引用出口
  3. 我需要从delegate属性向文件所有者添加一个出口
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54616521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档