我正在考虑使用UIDocument
en NSFileWrapper
来存储'项目'包含相当多的大型视频文件和一些小文本文件。我遇到了一些问题,我开始怀疑UIDocument是否仍然是正确的策略。
性能
据我所知,NSFileWrapper将所有内容加载到内存中。使用大型视频文件时,这可能是一个问题。我认为通过使用放弃标准NSFileWrapper
的自定义保存和加载方法可以解决此问题。
元数据
我想显示所有文档的列表以及一些元数据。这可以例如包括预览图像,记录的场景的数量,视频的长度等。现在获取该数据的唯一方法是打开每个文档并检索它。可能很慢,特别是对于大型文档。
方案吗
我现在看到两个解决方案:完全抛弃UIDocument并转向自定义架构,或使用某种集中式元数据文件。后者的缺点是我必须在两个不同的地方管理元数据,我需要手动保持它们同步。
UIDocument仍然是走到这里的方式,如果是这样的话:什么可以解决这些问题呢?
答案 0 :(得分:0)
根据提问者的评论,找到了一种向前推进的方法:
<块引用>放弃 UIDocument 以支持 Core Data 解决方案。我现在保存我所有的 使用 Core Data 手动管理大文件 文件系统。它对我来说效果很好,我很高兴我做了 转变。我唯一不得不放弃的是轻松的 iCloud 同步。但 对于这么大的文件,无论如何这都不太可行。它 似乎您可以创建自己的文件包装器类来解决一些问题 大文件的性能问题。