我的问题是在基于NSdocument的应用程序中执行此 *** 作的最佳方法是什么?
我想最简单的方法是创建一个目录文件包装器,创建它的存档并在NSdocument中返回它
- (NSfileWrapper *)fileWrapperOfType:(Nsstring *)typename error:(NSError **)outError
但我不明白如何创建NSfileWrapper的zip存档.
解决方法 如果你只想制作一个zip文件你的格式(即“mydoc.myextension”实际上是一个zip文件),那么就没有方便的内置Cocoa机制来创建带代码的zip存档.看一下这个Google Code项目: ziparchive我不相信文件包装器在这种情况下会有所帮助.既然你引用了iWork,我就不拥有iWork 09,但以前的版本使用的是封装格式(即NSfileWrapper非常理想),但是压缩描述文档结构的XML,同时保留附件(如嵌入式媒体,图像等). )在资源文件夹中,所有内容都在包中.我假设他们这样做是因为XML对于大而复杂的文档来说可能非常大,但是因为它是文本而压缩得非常好.这导致整体较小的文档.
如果Apple确实将整个文档变成了一个大的zip存档(我觉得很奇怪),那么他们要么将必要的资源提取到某个临时文件夹中,要么将整个文件加载到内存中(从包中向后退一步)基于方法,IMO).这些也是您需要考虑的因素.
总结以上是内存溢出为你收集整理的objective-c – 使用ZIP存档存储NSDocument数据全部内容,希望文章能够帮你解决objective-c – 使用ZIP存档存储NSDocument数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)