Кто-нибудь пробовал какие-либо API-интерфейсы-оболочки SQLite3 для упрощения функциональности базы данных на iPhone?

StackOverflow https://stackoverflow.com/questions/867482

Вопрос

Поскольку я не имел опыта работы с SQL, последние несколько дней мне было трудно освоить SQLite3.Были ли у кого-нибудь хорошие результаты при использовании каких-либо API-оболочек SQLite3?Надежно ли они работают?Что лучше?Я также слышу слухи о том, что Core Data появится на iPhone.Не уверен, заслуживает ли эта информация доверия или нет, но, возможно, некоторые из вас знают:будут ли когда-нибудь Core Data для iPhone?

Это было полезно?

Решение

Если вы только начинаете сейчас, я бы использовал Core Data.

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

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

Другие советы

FMDB прост в использовании и абстрагирует от вас часть неприятностей SQLite, но при этом раскрывает SQL.

Я использовал его в проекте, но разделил на подклассы, чтобы добавить свой собственный частично объектно-ориентированный слой.Преимущество этого подхода в том, что если мне нужно больше скорости или что-то, чего я не предвидел (например, триггеры), я могу это осуществить.В Core Data нет возможности «обхода», и мне приходится полагаться на оптимизацию Core Data, использование памяти и т. д.

Еще одно отличие заключается в том, что Core Data позволит вашему приложению оставаться полностью объектно-ориентированным.Используя FMDB или другое решение для работы с базами данных, вы всегда тесно связаны с организацией базы данных.Это дизайнерское решение, и вы не сможете изменить его позже.

Почему бы не использовать CoreData с помощью SDK 3.0?

Если по какой-то причине вам необходимо поддерживать версию 2.x, вам следует посмотреть SQLitePersistentObject.Он медленный и содержит некоторые ошибки, но ОЧЕНЬ прост в использовании.К сожалению, автор больше не занимается активной разработкой.

Кроме того:Некоторое время назад в небольшом примере проекта (2.x) я использовал фмдб.Насколько я помню, пользоваться им было довольно просто.Однако для этого требовалось знание SQL.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top