Перенос основных данных Objective-C в постоянный контейнер Swift

#objective-c #swift #core-data #nspersistentcontainer

#objective-c #swift #основные данные #nspersistentcontainer

Вопрос:

Когда Apple добавила новый класс PersistentContainer, они изменили расположение хранилищ данных. Это означает, что если вы добавите новый PersistentContainer, он не получит текущую базу данных, а создаст ее. Основная проблема заключается в том, что новое хранилище находится внутри другой папки. Как я могу указать папку для PersistentContainer, чтобы она использовала старое хранилище?

Ответ №1:

Постоянные хранилища a NSPersistentContainer указаны в его persistentStoreDescriptions свойстве array. По умолчанию он содержит одно постоянное хранилище типа SQLite, поддерживаемое файлом в Application Support папке контейнера вашего приложения.

Процедура изменения этого объясняется в разделе Обсуждения документации по этому свойству.

Путь к файлу этого хранилища указан в url свойстве that NSPersistentStoreDescription , которое является изменяемым. Поэтому вы должны установить url свойство этого единственного NSPersistentStoreDescription элемента в этом массиве на желаемый путь.