0

有谁知道这个问题?

我正在写一个文件包(使用 的方法NSDocument),通过

[(NSFileWrapper *)content writeToURL:myURL
                             options:NSFileWrapperWritingAtomic | NSFileWrapperWritingWithNameUpdating
                 originalContentsURL:myURL
                               error:error];

当我查看文件包的内容时,它没有更新:新文件不会出现,旧文件仍然存在。如果我尝试打开一个旧文件(应该不再在这里),我会收到一条错误消息(在 中Finder):“找不到...”

问题是什么:

  • 我玩错了NSFileWrapper吗?

  • 更新包中“隐藏”文件的信息是否有问题?


编辑

  • 我写的时候没有error

  • 我没有使用NSDocument方法,因为我需要 Core Data 的支持。我使用一个名为BSManagedDocumentsubclasses的类NSDocument

  • 一个可能相关的问题是,当我不使用该NSFileWrapperWritingAtomic选项时,我收到一个错误“无法写入,因为名为 ... 的文件(我的目录!!!)已经存在”

4

1 回答 1

1

我已经看到了 - 它似乎是一个 Finder 错误。您是否通过在 Finder 中选择包然后右键单击调用菜单项Show Package Contents来查看文件包的内容?

如果是这样,那就是个问题,因为 Finder 缓存了包内容并且不会显示更新。

ls尝试使用以下命令在终端中查看您的文件包内容:

ls -al /Path/to/Your/FilePackage

那应该显示新的包内容。

于 2015-01-24T11:41:26.670 回答