Я сделал нечто подобное.Два фактора были ключом к тому, чтобы заставить эту архитектуру работать.
- Файлы изображений должны храниться в согласованном месте относительно файла хранилища Core Data.
- URL / путь, сохраненный в CoreДанные для изображения являются относительными, а не абсолютными.Путь к изображению сделан относительно файла хранилища основных данных.
Относительное расположение в файловой системе
Я сохранил все изображения в подкаталоге с именем "Images", которыйнаходился в том же каталоге, что и файл хранилища Core Data.Например,
parent directory/
--> MyCoreDataStore.sql
--> Images/
-----> SomeImage1.png
-----> SomeImage2.png
По сути, я рассматриваю данные приложения как пакет файлов: каталог, содержащий несколько связанных файлов, которые вместе составляют данные приложения или документ данных.
Относительное изображениеURL-адреса
URL-адреса (или пути) к изображениям должны создаваться во время выполнения.Базовое хранилище данных содержит относительный путь / URL к местоположению каждого изображения.Расположение относительно расположения файла основного хранилища данных.Ваше приложение всегда знает полный путь / URL к хранилищу базовых данных.
Я строю полный путь к расположению изображения, когда это необходимо, используя родительский каталог файла хранилища основных данных и относительный путь к изображению, хранящийся вБазовые данные, дБ.