Я хотел бы создать приложение, которое использует
- Быстрый
- CoreData
- «Документы», которые работают в стандартной манере macOS [настраиваемое расширение, один «файл»/файловая обертка, содержащий все данные, относящиеся к этому документу]
Это не представляется возможным. В документации очень четко указано, что
NSPersistentDocument не поддерживает некоторые варианты поведения документов: Обертки файлов. [..]
что заставляет меня думать, что обычные способы работы с изображениями в CoreData — бинарные данные с «разрешить внешнее хранилище» и сохранение их в другом месте, сохранение URL-адреса в базе данных - нельзя использовать с NSPersistentDocument. Я хочу, чтобы мои пользователи могли выполнять обычные операции Finder с моим «файлом» (дублировать, перемещать во внешнее хранилище, восстанавливать из внешней резервной копии), и мне нужно, чтобы все мои данные были в одном пакете.
SQL-версия хранилища файлов приводит к обычному тройному стеку при сохранении - .sqlite, .sqlite-shm, .sqlite-wal - который бесполезен в качестве «документа».
Есть ли решение, которое я упустил из виду? (примеры очень скудны; пример Big Nerd Ranch не решает это тоже; ни Маркус Зарра, ни Objc.io не касаются NSPersistentDocument).