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

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

Производительность

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

Метаданные

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

Решения?

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

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


person Rengers    schedule 05.06.2014    source источник
comment
Вы пришли к каким-то выводам? было бы здорово услышать, так как я также вижу плохую производительность UIDocument...   -  person keisar    schedule 22.06.2014
comment
Эти два вопроса (stackoverflow.com/questions/23265422, stackoverflow.com/questions/13621502), наряду с моими собственными исследованиями, заставили меня отказаться от UIDocument в пользу решения Core Data. Теперь я сохраняю все свои данные с помощью Core Data и вручную управляю большими файлами в файловой системе. Это работает очень хорошо для меня, и я рад, что сделал переход. Единственное, от чего пришлось отказаться, так это от простой синхронизации с iCloud. Но с такими большими файлами это все равно было невозможно. Кажется, вы можете создать свой собственный класс файловой оболочки, чтобы обойти некоторые проблемы с производительностью при работе с большими файлами.   -  person Rengers    schedule 22.06.2014
comment
@Rengers Знаете ли вы, улучшилась ли ситуация в 2020 году?   -  person zrfrank    schedule 30.08.2020
comment
@zrfrank: извините, но я не использовал UIDocument (или не писал приложение для MacOS, если на то пошло) годами, поэтому я не знаю, какова текущая ситуация.   -  person Rengers    schedule 30.08.2020