Как правильно использовать sqlite на iPhone? - PullRequest
0 голосов
/ 27 мая 2010

Не могли бы вы дать несколько советов по использованию sqlite на iPhone? В моем приложении я использую sqlite DB для хранения всех локальных данных. Для извлечения этих данных во время выполнения можно использовать два метода.

1, загрузить все данные в память на этапе инициализации. (Больше памяти используется, требуется меньше операций открытия / закрытия БД)

2, при необходимости прочитать соответствующие записи, освободить занятую память после использования. (Хорошая привычка для использования памяти, но требует много операций открытия / закрытия БД).

Я предпочитаю использовать метод 2, но не уверен, может ли слишком много операций открытия / закрытия БД повлиять на эффективность приложения. Или вы думаете, что я могу «обновить» метод 2, открывая БД при запуске приложения и закрывая БД при выходе из приложения?

Большое спасибо за ваши предложения!

Ответы [ 2 ]

2 голосов
/ 27 мая 2010

Прежде всего: используйте FMDB для доступа к SQLite!

Затем создайте свой собственный класс синглтона "MyDB".

Каждый раз, когда вам нужна база данных, вы делаете [экземпляр MyDB], чтобы получить экземпляр FMDB.

Таким образом, у вас есть только одна открытая БД (в didFinishLaunching) и вы закрываете ее при выходе из приложения.

Это самый лучший способ использовать SQLite на iPhone.

Другой вариант - использовать CoreData, что мне очень нравится, когда вы начинаете с пустой базы данных, но мне лучше всего подходит FMDB / SQLite, если у меня есть набор данных, предназначенный только для чтения.

1 голос
/ 27 мая 2010

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

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