Кто-нибудь пробовал какие-либо API-интерфейсы SQLite3 для упрощения работы с базами данных на iPhone? - PullRequest
0 голосов
/ 15 мая 2009

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

Ответы [ 4 ]

4 голосов
/ 17 мая 2009

FMDB прост в использовании и отвлекает вас от некоторых мерзостей SQLite, но все же предоставляет SQL.

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

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

3 голосов
/ 15 мая 2009

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

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

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

2 голосов
/ 15 мая 2009

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

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

1 голос
/ 15 мая 2009

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

...