0

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

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

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

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

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

4

1 回答 1

0

这样做的方法是:

在.h

  • 创建一个实例 var NSFileWrapper。

在初始化中:

  • 创建一个空目录FileWrapper。

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

  • 在目录FileWrapper 中添加这个文件

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

  • 使“inFileWrapper”成为您的 fileWrapper(不要忘记发布以前的并保留新的)

在 -fileWrapperOfType: 错误中:

  • 将文件包装器返回给您。

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

于 2015-10-22T06:38:36.610 回答