我有一个基于核心数据文档的可可应用程序,除了一个稍微奇怪的问题外,它运行良好。未设置核心数据脏标志
出于某种原因,如果我对任何一个字段进行了更改,菜单/窗口似乎都无法识别它 - 即。红色关闭按钮不会显示黑色“脏”指示符,并且文件/保存菜单项未启用。但是,如果我尝试关闭应用程序(通过命令Q),我确实弹出窗口询问我是否想保存更改。
似乎文档的脏标志正在设置,但窗口/菜单项不反应。我很好奇我在哪里可以看到为什么会出现这种情况。我怀疑它可能有一些做不知道我的ManagedObjectContext我的窗口......
只有轻微不典型的行为是我的文档的makeWindowControllers方法已被重写,我将用一个呼叫我的窗控制器我文档的[self addWindowController:xxx]方法。我的窗口控制器从NSWindowController子类,所以我必须添加自己的实例变量到每个窗口控制器来保存ManagedObjectContext,但我怀疑这不会传递给窗口/菜单。不知道这里的正常模式是什么...
无论如何,任何想法将不胜感激。谢谢
UI字段肯定会绑定到托管对象。例如,如果我通过我的用户界面字段对对象进行了一系列更改,请按command-Q,输入文件名并保存,然后重新打开该文件,我的更改已持续保存。 – 2011-03-18 20:25:56
“保存”菜单和按钮是否正确绑定?自从我使用基于文档的应用程序以来,这已经有一段时间了,但您需要将菜单绑定到数据模型,以便他们能够反映是否进行了更改。他们不会自动知道文档已更新。这通常是对窗口控制器IIRC完成的。 – TechZen 2011-03-18 21:31:20