Лучшая библиотека оболочек Cocoa / Objective-C для SQLite на iPhone

53

Я разрабатываю для iPhone и ищу хорошую библиотеку Cocoa/Objective-C для работы с SQLite. Я не хочу использовать стандартный процедурный API SQLite C. Я вижу варианты sqlite.org в разделе Objective-C, но я не уверен, какой из лучших в плане дизайна API библиотек, и функциональность. Я бы хотел использовать то, что активно развивается и, надеюсь, будет вокруг какое-то время. У кого-нибудь есть предложения, основанные на опыте с использованием одного?

Спасибо

  • 1
    Ядро. Данные. Каждый. Время.
  • 0
    на данный момент Coredata - лучший вариант.
Теги:
iphone
cocoa-touch

7 ответов

50
Лучший ответ

Я лично использую FMDB, и последнее обновление для него было вчера.

  • 1
    ссылка была бы хороша :)
  • 2
    github.com/ccgus/fmdb
12

Самый простой, который я нашел, это https://github.com/misato/SQLiteManager4iOS

SQLiteManager от Ester Sanchez.

Использование этого в основном таково:

NSArray *results = [dbManager getRowsForQuery:@"SELECT * FROM table WHERE id = 1"];

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

После этого вы можете делать такие вещи:

NSDictionary *aPerson = [results objectAtIndex:0];
NSString *firstName = aPerson[@"firstName"];
NSString *email = aPerson[@"email"];
  • 0
    Хорошо, это выглядит потрясающе. Почему нет голосов? Хммм, FMDB против SQLiteManager4iOS ...
  • 0
    Понятия не имею, я не думаю, что этот широко используется. Я попробовал их обоих, и я определенно предпочитаю последнее.
Показать ещё 3 комментария
12

Я также являюсь поклонником FMDatabase, хотя мне пришлось настраивать свою собственную версию. Мои приложения используют слой вокруг него, который я написал, называемый ArchDBObject, который прозрачно преобразует объекты в представление базы данных и из него; Я думаю о его выпуске в той или иной форме, но пока я еще не решил.

В любом случае, FMDatabase может быть в https://github.com/ccgus/fmdb.

  • 1
    +1 за предоставление ссылки
  • 3
    Проект переехал сюда: github.com/ccgus/fmdb
7

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

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

1

Если вы хотите, вы также можете посмотреть следующий репозиторий, который предоставляет набор классов, которые можно использовать для создания операторов SQL, и предоставляет простой способ обработки соединения базы данных SQLite. Он расположен в https://github.com/ziminji/objective-c-sql-query-builder

1

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

Самая легкая обертка веса, которую я нашел, была здесь:

http://th30z.netsons.org/2008/11/objective-c-sqlite-wrapper/

Я не знаю, имеет ли оно официальное название. Это всего лишь 1 класс, и он абстрагирует гадость SQLite api, оставляя при этом ценность работы непосредственно с SQL. Кривая обучения составляет 5 минут, если вы уже знаете SQL. Поскольку он настолько мал, я могу представить, что было бы легко исправить все, что могло бы пойти не так с ним.

  • 6
    URL больше не работает ...
0

У меня есть простой ORM поверх FDBM здесь http://code.google.com/p/chibiorm/.

С его помощью вы можете использовать необработанный SQL, если хотите, вернуть любой SQL в виде списка dict или использовать хороший стиль OO.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню