我们正在将一个包含大量跨平台代码的应用程序移植到 Cocoa。必须使用直接处理磁盘上文件以进行加载/保存的低级文件处理例程。
由于NSFileWrapper
它旨在通过并抽象出实际的磁盘文件详细信息来呈现内存中文件的内容,NSData
因此我们不能直接使用它,对吗?
所以能够使用我们的低级文件处理代码
fopen()
fread()
和我们正在考虑的类似 ANSI-C 的东西
- 使用
NSFileWrapper
APINSDocument
, - 将文件包装器中的写
NSData
回临时文件。文件夹
(例如~/Library/Caches/) - 交出那个温度。文件 ( ~100k .. 1MB ) 到较低级别。
文件的写入也可以类似地工作——反之亦然。
现在 - 这种方法是直接访问代表文件的最简单方法NSFileWrapper
吗?我们是否忽略了文件包装器中的一些 API?
我们会遇到什么麻烦——特别是考虑沙盒和 iCloud..?
由于我们希望支持包含 1 个以上文件的文件包,因此我们希望坚持使用基于文件包装器的 API,NSDocument
而不是使用NSURL
基于方法的方法。
任何反馈/批评表示赞赏!