使用NSFileWrapper

时间:2015-10-20 13:03:13

标签: macos cocoa save-as nsfilewrapper

我正在开发一个基于文档的应用程序,允许用户插入图像,电影来制作作品。

保存文档时,我创建了一个directoryFileWrapper,我在其中放置了我的项目的xml表示,并使用原始路径为每个图像/电影设置了一个fileWrapper(如果文档尚未保存)或者它包内的相对路径。

一旦保存,用户就可以将文档移动到另一个位置/ mac并仍然可以访问其内容。

如果用户执行" SaveAsOperation"并将其保存在同一位置,则首先删除该文档,然后我必须重新创建它。问题是我无法使用相对路径重新创建fileWrappers,因为文档本身已被删除。

有没有办法防止它发生? 将现有文件保存到包中的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

这样做的方法是:

in .h

  • 创建一个实例var NSFileWrapper。

在init中:

  • 创建一个空的directoryFileWrapper。

每次要在包装器中添加文件时:

  • 在directoryFileWrapper
  • 中添加此文件

In -readFromFileWrapper:(NSFileWrapper *)inFileWrapper ofType:error:

  • make" inFileWrapper"你的fileWrapper(不要忘记发布以前版本并保留新文件)

In-fileWrapperOfType:错误:

  • 返回fileWrapper。

如果您还想使用NSFileWrapper,此链接可能会有所帮助 https://www.cocoanetics.com/2012/09/back-on-mac-os-x-tutorial-for-ios-developers/ 而github回购是https://github.com/Cocoanetics/Examples