在过去的两天里,我一直试图将我的单文档文档打包成一个包,但我无法让它工作。在文档中,它指出首选的方法是使用NSFileWrapper。我试过了,但这只是处理文件的一种不直观的方式。
我想要更新一个文件,我需要从它的目录中删除文件包装器,创建一个全新的文件并再次添加到目录中。我没有找到任何明确说明它的内容,但我想我应该只在调用fileWrapperOfType:error:
时才更新文件
由于NSFileWrapper将所有内容(至少一次加载)保留在内存中,这意味着我将同时拥有旧版本和新版本,直到用户(或自动保存)保存文件。
似乎NSFileWrapper不应该用于大文件,但我认为如果文档所需的所有文件都在包内(可以无错误地复制到另一台Mac / iPhone / iPad),我不想限制用户使用文件的数量/大小。
当使用基于URL的手动保存机制时,我最终得到损坏的包,因为目标目录始终是临时目录,我找不到有关如何合并它们的任何信息。每次我手动保存文档而不做任何更改时,都会发生错误,因为我没有向临时目录写任何内容。但我没有看到写入/链接所有内容到临时目录的原因,只是因为它被复制/'un'链接回其目的地。
由于我似乎无法找到正确的答案,保存和恢复包含许多/大文件的大包的最佳做法是什么?