1

我正在编写的基于 NSDocument 的应用程序有一个奇怪的问题。当我第一次创建文档并保存它时,一切正常。但是,当我重新打开文档(效果很好)时,主菜单中的“保存”、“另存为”和“恢复为保存”似乎都没有任何效果。方法

- (NSData *)dataOfType:(NSString *)typeName error:(NSError **)outError

永远不会被调用。主菜单的“关闭”行为也很奇怪:它关闭了主文档窗口,但没有关闭任何辅助窗口。同样,只有在打开文档时才会观察到这种不规则行为;新创建文档时,单击主菜单中的“关闭”按预期工作。其他菜单项,“打开”项和我自己的自定义项都可以正常工作。

这是在 Snow Leopard 和 Lion 中开发的应用程序,当时没有任何问题。我最近升级到 Mountain Lion,但我不确定问题是从那里开始的,还是我对项目做了什么导致这种行为。当前用于编译应用程序的 SDK 是 10.7。

任何信息将不胜感激,并在此先感谢,

C。

4

2 回答 2

0

好吧,如果您的应用程序允许,您可以使用 Core Data。这肯定会消除错误并让您仅使用绑定来构建您的应用程序。

于 2013-01-04T18:06:45.030 回答
0

好吧,看来我已修复它,但我不知道如何修复它。调试后我意识到 WindowController 确实被实例化了,所以不是那样的。我最终将项目的旧版本与一些最初显示相同行为的新代码组合在一起,但在某些时候它不再存在。我希望我知道我做了什么来破坏它并修复它,但我很高兴它现在可以工作了!

感谢 Moray,我认为是时候转向 Core Data。

谢谢大家,

C。

于 2013-01-05T04:26:01.097 回答