【问题标题】:Cocoa NSDocument: getting autosave to workCocoa NSDocument:让自动保存工作
【发布时间】:2009-01-02 22:13:50
【问题描述】:

文档只是说明在共享文档控制器上将 setAutosavingDelay 设置为 > 0 的任何值都应该这样做,但在调用之后

[[NSDocumentController sharedDocumentController] setAutosavingDelay:2.0];

在我的控制器中,自动保存似乎不起作用:我在 ~/Library/Autosave Information/ 中看不到任何东西,也没有

[[[NSDocumentController sharedDocumentController] currentDocument] autosavedContentsFileURL]

已初始化。

请注意,在我的应用中,正常加载和保存工作正常(keyedarchivers、我的文档的基于 nscoding 的类等)。

【问题讨论】:

  • 作为健全性检查,您确实对文档进行了更改,以便自动保存一些内容? (并查看 -hasUnautosavedChanges 报告的内容)
  • 并且您的 NSDocument 为 autosavesInPlace 返回 yes?

标签: cocoa nsdocument nsdocumentcontroller


【解决方案1】:

您是否覆盖了 -updateChangeCount: ?我很确定 Apple 的实现是启动自动保存计时器的代码。另外,如果您尝试使用更长的计时器会怎样?

【讨论】:

  • 谢谢。我没有。我会尝试并返回。
【解决方案2】:

有些人发现目录 ~/图书馆/自动保存信息 由root拥有,因此无法在其中写入文件。参见例如 http://discussions.apple.com/thread.jspa?threadID=2252306

我不知道错误是如何产生的,但我被它咬住了——该目录是在 2010 年 6 月 17 日 12:19 创建的,我认为从那一刻起权限是错误的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多