iPhone создать базу данных SQLite во время выполнения? - PullRequest
11 голосов
/ 19 июня 2009

Большинство примеров sqlite, о которых я узнал, сначала говорят о создании файла db из командной строки, а затем о его добавлении в ваше приложение. Для моего проекта я хотел бы иметь возможность создавать свою базу данных в приложении, когда оно запускается в первый раз, а затем сохранять ее в файл базы данных в песочнице пользователя. Есть ли способ сделать это?

Ответы [ 3 ]

13 голосов
/ 19 июня 2009

Вы можете проверить файл (как обычно) при запуске приложения. Если файл не существует, вместо копирования предварительно созданного файла просто:

  1. Откройте файл как обычно, используя sqlite3_open()
  2. Запустите команды создания (т. Е. Создайте таблицы, представления и т. Д.)

Это действительно все, что нужно.

2 голосов
/ 20 июня 2009

Базовые данные предоставляют простой способ управления этим - он ищет файл базы данных при запуске, если его не существует, он создаст его для вас. Он также автоматически создаст модель для вас на основе диаграммы, которую вы можете создать в xCode.

Когда вы перейдете к обновлению пользователей со старыми базами данных в будущем, это также упростит миграцию данных.

Вы также получаете доступ к данным с помощью созданных объектов данных. Базовые данные также будут использовать отложенную загрузку для создаваемых объектов, что намного лучше, чем необходимость вручную

Для получения дополнительной информации см. Демонстрационный проект Locations и ознакомьтесь с основными данными в документации.

2 голосов
/ 20 июня 2009

Я думаю, что я повторю расширяющийся крик, что если вы хотите что-то делать с базой данных, вам следует взглянуть на CoreData. Он использует SQLLite и его проще настроить, а намного проще перенести позже, когда вы обнаружите, что вам нужно несколько новых вещей в БД!

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