Подтвердить что ты не робот

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

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

Спасибо

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

Самый простой, который я нашел, это 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"];

Ответ 4

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

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

Ответ 5

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

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

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

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

Ответ 6

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

Ответ 7

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

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