2012-03-28 3 views
0

Я планировал сделать приложение для iPhone, в котором хранятся списки дел, например. Каков наилучший подход к хранению данных в iPhone в такой ситуации, SQLite или данные ядра.Core-data vs SQLite

ответ

1

Следует отметить, что поскольку Core Data использует SQLite на своем уровне хранения, все еще существует стандартная системная библиотека SQLite, доступная для использования.

Основные данные имеют ряд существенных преимуществ. Apple предоставляет средства разработки, которые позволяют разработчику быстро выкладывать свои требования к данным и отношения. Это может сократить время разработки и сохранить код. Пакет Core Data также хорошо интегрирован в текущие системы Mac OS X, что позволяет легко перемещаться между платформами.

Я лично предпочитаю использовать данные Core в своем приложении, поскольку он заботится о целостности и согласованности объектов и отношений. Если вы новичок в данных Core, этот учебник поможет вам понять, как он работает. http://www.raywenderlich.com/934/core-data-tutorial-getting-started

Для всех преимуществ, предоставляемых Core Data, существуют ситуации, когда имеет смысл напрямую использовать SQLite. Самое очевидное соображение заключается в том, что ваши потребности в развитии выходят за рамки платформ Apple. В отличие от Core Data, библиотека SQLite доступна практически на любой платформе, позволяя перемещать файлы данных и получать доступ практически в любом месте на любой платформе. Core Data также использует другую модель хранения и поиска, чем SQLite. Если ваше приложение особенно хорошо подходит для реляционной модели, могут быть преимущества наличия прямого доступа к SQL-запросам на уровне хранения данных.

-2

SQLLite следует использовать для данных этого типа, так как в какой-то момент вы можете захотеть запросить его (т. Е. Показать мне все тоды 27 марта). Я думаю, что Core-данные предназначены для настроек типа инициализации (пользовательские настройки).

+3

NSUserDefaults предназначен для настроек. Основные данные имеют в основном те же варианты использования, что и SQLite. Фактически Core Data использует SQLite в качестве бэкэнд-памяти и дает дополнительное значение для использования дизайнера модели для ваших объектов. –

Смежные вопросы