Я рассматриваю возможность использования UIDocument
en NSFileWrapper
для хранения «проектов», содержащих довольно много больших видеофайлов и несколько небольших текстовых файлов. Есть несколько проблем, с которыми я сталкиваюсь, и я начинаю задаваться вопросом, является ли UIDocument правильной стратегией.
Производительность
Насколько я могу судить, NSFileWrapper загружает все в память. Это может быть проблемой при работе с большими видеофайлами. Я думаю, что это можно обойти, используя пользовательские методы сохранения и загрузки, которые отказываются от стандартного NSFileWrapper
.
Метаданные
Я хочу отобразить список всех документов вместе с некоторыми метаданными. Это может, например, включать изображение для предварительного просмотра, количество записанных сцен, продолжительность видео и т. д. Единственный способ получить эти данные сейчас — открыть каждый документ и получить его. Вероятно, довольно медленно, особенно с большими документами.
Решения?
Сейчас я вижу два решения: полностью отказаться от UIDocument и перейти к пользовательской архитектуре или использовать какой-то централизованный файл метаданных. Недостатком последнего является то, что мне приходится управлять метаданными в двух разных местах и мне нужно синхронизировать их вручную.
Можно ли по-прежнему использовать UIDocument, и если да, то каким образом можно решить эти проблемы?