Является ли UIDocument подходящей стратегией для больших документов с метаданными?

Я смотрю на использование UIDocument ан NSFileWrapper хранить "проекты", которые содержат довольно много больших видеофайлов и несколько небольших текстовых файлов. Есть несколько проблем, с которыми я сталкиваюсь, и я начинаю задаваться вопросом, является ли UIDocument все еще правильной стратегией.

Спектакль

Насколько я могу судить, NSFileWrapper загружает все в память. Это может быть проблемой при работе с большими видеофайлами. Я думаю, что это можно обойти с помощью пользовательских методов сохранения и загрузки, которые отказываются от стандарта NSFileWrapper,

Метаданные

Я хочу отобразить список всех документов вместе с некоторыми метаданными. Это может, например, включать изображение для предварительного просмотра, количество записанных сцен, продолжительность видео и т. Д. Единственный способ получить эти данные сейчас - открыть каждый документ и извлечь его. Вероятно, довольно медленно, особенно с большими документами.

Решения?

Сейчас я вижу два решения: полностью отказаться от UIDocument и перейти к пользовательской архитектуре или использовать какой-то централизованный файл метаданных. Недостатки последнего состоят в том, что мне приходится управлять метаданными в двух разных местах, и мне нужно синхронизировать их вручную.

UIDocument по-прежнему остается здесь, и если да, то каким образом можно решить эти проблемы?

1 ответ

Основываясь на комментариях, спрашивающий нашел способ двигаться дальше как таковой:

отказаться от UIDocument в пользу решения Core Data. Теперь я сохраняю все свои данные с помощью Core Data и вручную управляю большими файлами в файловой системе. У меня это работает очень хорошо, и я рад, что переключился. Единственное, от чего мне пришлось отказаться, так это от простой синхронизации iCloud. Но с такими большими файлами это все равно было невозможно. Кажется, вы можете создать свой собственный класс файловой оболочки, чтобы обойти некоторые проблемы с производительностью с большими файлами.

Другие вопросы по тегам