9

我正在研究使用UIDocumentenNSFileWrapper来存储包含相当多的大型视频文件和一些小型文本文件的“项目”。我遇到了一些问题,我开始怀疑 UIDocument 是否仍然是正确的策略。

表现

据我所知, NSFileWrapper 将所有内容加载到内存中。在处理大型视频文件时,这可能是一个问题。我认为可以通过使用放弃标准的自定义保存和加载方法来解决这个问题NSFileWrapper

元数据

我想显示所有文档的列表以及一些元数据。例如,这可以包括预览图像、记录的场景数量、视频长度等。现在获取此数据的唯一方法是打开每个文档并检索它。可能很慢,尤其是对于大型文档。

解决方案?

我现在看到了两种解决方案:完全放弃 UIDocument 并采用自定义架构,或者使用某种集中式元数据文件。后者的缺点是我必须在两个不同的地方管理元数据,并且我需要手动保持它们同步。

UIDocument 仍然是这里的方法吗?如果是这样:有什么方法可以解决这些问题?

4

1 回答 1

0

根据评论,提问者找到了一种前进的方法:

放弃 UIDocument 以支持 Core Data 解决方案。我现在使用 Core Data 保存我的所有数据并手动管理文件系统上的大文件。它对我来说效果很好,我很高兴我做出了改变。我唯一不得不放弃的就是简单的 iCloud 同步。但是对于像这些一样大的文件,这无论如何都是不可行的。似乎您可以创建自己的文件包装类来解决大文件的一些性能问题。

于 2021-08-03T20:06:27.830 回答