Загрузить базу данных SQLite, предварительно загруженную в Core Data - PullRequest
0 голосов
/ 31 октября 2018

У меня есть база данных, предварительно загруженная в SQLite: "BenedictusCoreData.sqlite".

Я добавляю его в проект в XCode.

Я изменяю BenedictusCoreData.xcdatamodeld для создания сущностей и атрибутов с тем же именем и типом, что и у таблиц и столбцов моего предварительно загруженного sqlite.

Я запускаю приложение в симуляторе без написания дополнительного кода. Я печатаю основной путь пакета и иду в песочницу приложения. А внутри / Библиотека / Поддержка приложений / Нахожу три файла: .sqlite .sqlite-shm .sqlite-wal

Я открываю .sqlite, и, очевидно, он пуст, однако Xcode создал таблицы и столбцы с заглавными буквами, добавив "Z" к именам таблиц и "Z" к именам столбцов, начав с добавления новых таблиц "Z_METADATA "" Z_MODELCACHE "," Z_PRIMARYKEY ".

На данный момент, я предполагаю, что это не очень хорошая идея, просто скопировать мой sqlite из комплекта в папку «Поддержка приложений» и переписать файл, потому что структура совершенно другая.

Поэтому я заблудился о том, как действовать, чтобы скопировать предварительно загруженную базу данных sqlite в CoreData при первом запуске приложения.

Может быть, вы можете мне помочь.

1 Ответ

0 голосов
/ 31 октября 2018

В appDelegate вы можете изменить имя .xcdatamodel по умолчанию на имя, которое вы добавили. Затем xcode загрузит ваш предварительно загруженный файл данных .sqlite вместо файла по умолчанию. Вы должны найти его, есть учебники по этому

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...