В настоящее время я разрабатываю лучшую структуру для документа, который я пытаюсь создать. Документ в основном является основным документом данных, который использует sqlite в качестве своего хранилища, но использует предоставленный Apple NSPersistentDocument + FileWrapperSupport, чтобы включить поддержку файловой оболочки.Рекомендуемая структура документа. Упаковщики файлов? Ролл мой собственный?
В документе широко используются носители, такие как изображения, видео, аудиофайлы и т. Д. С потенциально 1000 файлами. Так что я пытаюсь сделать, это создать структуру, подобную следующей:
/myfile.ext/
/myfile.ext/store.sqlite
/myfile.ext/content/
/myfile.ext/content/images/*
/myfile.ext/content/videos/*
/myfile.ext/content/audio/*
Теперь, в первую очередь я пошел по пути создания временного каталога и размещения всех моих средств массовой информации там. В основном создавая пути и имена файлов «/content/images/image1.jpg», поскольку я хотел, чтобы они появлялись в сохраненной файловой оболочке, а затем после сохранения я попытался скопировать их все в файл ...
Что Я обнаружил, что файлы действительно были скопированы в оболочку с файловой структурой, которую я хотел, но когда фактическая оболочка была сохранена, эти файлы все волшебным образом исчезли.
Отлично.
Итак, я разрушил существующее решение и вместо этого попытался использовать обертки файлов. Это решение включало создание каталога файла оболочки содержимого при создании нового документа или загрузку в оболочку файла каталога содержимого при открытии документа.
Когда изображение было добавлено/изменено, я создал необходимые обертки каталога внутри этой корневой оболочки содержимого (т. Е. Обертка каталога изображений, если она еще не существовала, или любые другие обертки каталога промежуточного каталога, которые необходимо было создать) и затем создала обычную оболочку файла для носителя, удалив любую существующую оболочку для этого имени файла, если она была там.
Сохранение документа - это всего лишь случай, когда оболочка файла содержимого была добавлена в обертку файла документа, и документ будет сохранен.
Ну ... это было. Первый раз. Тем не менее, любые попытки сделать любые последующие изменения, а также добавить изображение, сохранить. Затем замените изображение, сохраните. Не вел себя так, как ожидалось, только показывая изображение с первого сохранения.
Итак, мой вопрос ... прежде всего, какой из приведенных выше подходов является правильным, если вообще, и что я делаю, что неправильно для них терпеть неудачу.
И во-вторых, поскольку я ожидаю, что управляю 1000-ыми изображениями, использует обертки файлов правильный способ вообще заниматься вещами.