0

我有一个基于核心数据文档的可可应用程序,除了一个稍微奇怪的问题外,它运行良好。

出于某种原因,如果我对我的任何字段进行更改,菜单/窗口似乎无法识别它 - 即。红色的关闭按钮没有得到黑色的“脏”指示器,并且文件/保存菜单项未启用。但是,如果我尝试关闭应用程序(通过 command-Q),我确实会收到弹出窗口询问我是否要保存我的更改。

似乎正在设置文档的脏标志,但窗口/菜单项没有对其做出反应。我很好奇我可能会去哪里看看为什么会出现这种情况。我怀疑这可能与我的窗口有关,不知道我的 ManagedObjectContext ...

唯一稍微不典型的行为是我的文档的 makeWindowControllers 方法已被覆盖,我正在使用对我的文档的 [self addWindowController:xxx] 方法的调用来添加我的窗口控制器。我的窗口控制器是 NSWindowController 的子类,因此我必须将自己的实例变量添加到每个窗口控制器以保存 ManagedObjectContext,但我怀疑这没有传递给窗口/菜单。不知道这里的正常模式是什么......

无论如何,任何想法将不胜感激。谢谢

4

2 回答 2

1

从描述看来,您的 UI 元素实际上并未绑定到文档本身。如果是这样,则 UI 元素没有观察文档,也没有对文档中的更改做出反应。检查绑定。

于 2011-03-18T15:55:22.450 回答
0

部分感谢 TechZen,并重新阅读了我自己的问题(特别是,我说“我怀疑它可能与我的窗口有关,不知道我的 ManagedObjectContext ”)我开始查看我的绑定WindowController 子类。

事实证明,我没有将文件所有者的窗口出口绑定到我实际的 NSWindow。一旦我这样做了,黑色的脏点和窗口的菜单就开始正常运行。

于 2011-03-18T22:01:12.287 回答