我有一个基于核心数据文档的可可应用程序,除了一个有点奇怪的问题外,它运行良好。
出于某种原因,如果我对我的任何字段进行更改,菜单/窗口似乎无法识别它 - 即。红色关闭按钮没有获得黑色“脏”指示器,并且未启用“文件/保存”菜单项。但是,如果我尝试关闭应用程序(通过命令-Q),我会弹出窗口询问我是否要保存更改。
似乎正在设置文档的脏标志,但窗口/菜单项没有对它做出反应。我很好奇我可能会在哪里看到为什么会出现这种情况。我怀疑它可能与我的窗口有关,不知道我的ManagedObjectContext ...
唯一稍微不典型的行为是我的文档的makeWindowControllers方法已被覆盖,我正在使用对我的文档的[self addWindowController:xxx]方法的调用来添加我的窗口控制器。我的窗口控制器是NSWindowController的子类,所以我必须将自己的实例变量添加到每个窗口控制器以保存ManagedObjectContext,但我怀疑这不会传递给窗口/菜单。不知道这里的正常模式是什么......
无论如何,任何想法都会非常感激。感谢
答案 0 :(得分:1)
从描述中可以看出,您的UI元素实际上并未绑定到文档本身。如果是这样,则UI元素不会观察文档,也不会对文档中的更改做出反应。检查绑定。
答案 1 :(得分:0)
部分感谢TechZen,并重新阅读我自己的问题(特别是,我说“我怀疑它可能与我的窗口有关,而不知道我的ManagedObjectContext ”我开始查看我的WindowController子类的绑定。
事实证明,我没有将文件所有者的窗口插件绑定到我的实际NSWindow。一旦我这样做,黑脏点和窗口的菜单开始表现正常。