删除基于cocoa文档的应用程序中的保存功能

时间:2010-12-15 10:33:13

标签: cocoa xcode browser save document

我目前正致力于Apple's Mac Dev site的网络浏览器项目。

我已完成项目,但有一点问题。我已经将项目创建为基于文档的Cocoa应用程序,现在每当我在Web上的任何文本字段中输入文本时,红色交通灯按钮在中间显示一个黑点,表示未保存的文档。当我尝试关闭窗口或完全退出应用程序时,会弹出一个类似于TextEdit或Pages的警告,它会提醒我未保存的更改。这不是一个问题,但我想如果有人能告诉我如何删除基于Cocoa文档的应用程序的这个功能。

2 个答案:

答案 0 :(得分:2)

如果您的应用程序不是基于文档的,为什么基于文档的应用程序?基于文档的应用程序本身包含opensave的概念;它是它们的基本组成部分。

在任何情况下,可以通过适当地配置NSDocument “解决”这个问题;覆盖正确的方法,否则改变计数&文件的脏状态。但这只是一个解决方法。 NSDocument的文档包含您需要的所有信息。

更清晰的整体解决方案是将您的应用重构为不使用NSDocument。在Cocoa中创建多个窗口非常简单(与操作方法加载nib文件的菜单项绑定的操作方法;如果我没记错的话,你甚至可以使用NSWindowController)。

答案 1 :(得分:1)

更简单的解决方案就是覆盖isDocumentEdited方法以始终返回NO。

- (BOOL)isDocumentEdited {
    return NO;
}