我们正在将一个包含大量跨平台代码的应用程序移植到Cocoa。使用直接在磁盘上加载/保存文件的低级文件处理例程是必须的。
由于NSFileWrapper旨在通过NSData显示内存中文件的内容,并抽象出实际的磁盘文件详细信息,所以我们不能直接使用它,对吗?
以便能够使用我们的低级文件处理代码
fopen()fread()和我们正在考虑的类似的ANSI-C的东西
NSFileWrapper API的NSDocument,NSData从文件包装器写回临时文件。文件夹
(例如~/图书馆/缓存器/)文件的编写也会有类似的效果--正好相反。
现在,这种方法是让直接访问NSFileWrapper所代表的文件的最简单方法吗?我们是否忽略了文件包装器中的一些API?
我们是否会遇到任何麻烦--特别是沙箱和iCloud ..?
由于我们希望支持多个文件的文件包,所以我们宁愿坚持使用NSDocument中基于文件包装器的API,而不使用基于NSURL的方法。
任何反馈/批评赞赏!
发布于 2014-03-13 17:15:18
我对你的问题没有一个直接的答案,但我确实有一些强制性的阅读:文件系统编程指南给出了对各种可用机制的深入解释。我要特别注意关于档案协调员的部分(由NSDocument使用,比尝试黑NSDocument只是为了获得它的一些功能更好)和没有文件协调器的读写文件的技术,其中包括使用Grand Central进行安全异步文件访问。
我希望这能帮到你。
https://stackoverflow.com/questions/22377537
复制相似问题