如何同时保存NSDocument?

问题描述:

我有一个基于文档的应用程序。保存文档可能需要几秒钟,所以我想让用户在将文档保存在后台时继续使用该程序。如何同时保存NSDocument?

由于文档体系结构的原因,我的应用程序被要求保存到临时位置,然后将临时文件复制到旧文件中。但是,这意味着我不能在后台运行我的文件保存代码,并在完成之前返回,因为临时文件必须完全写入才能被复制。

是否有办法禁用此临时文件行为或以其他方式在后台启用文件保存?

我不认为这是一个很好的解决方案。如果您允许用户继续工作,如果在第一次保存操作完成之前再次保存,会发生什么情况?

我认为可能是最好的,只是建立一个保存进度表,阻止文档,直到保存完成。

+0

用户可能会打开多个文档。如果保存一个文档可能需要很长时间(例如,如果他们正在保存到网络共享中),则他们可能需要切换到另一个文档并在此期间进行处理。 – 2010-05-12 06:40:54

+0

当然,如果您使用文档模式工作表来显示保存进度,这仍然是可能的。 – 2010-05-12 07:54:42

+0

如果主线程被阻塞,则不会。 – 2010-05-12 21:48:30