Лучшая библиотека-оболочка Cocoa/Objective-C для SQLite на iPhone [закрыто]
Я разрабатываю для iPhone и ищу хорошую библиотеку Cocoa/Objective-C для работы с SQLite. Я не хочу использовать стандартный процедурный SQLite C API. Я вижу варианты в sqlite.org в разделе Objective-C, но я не уверен, что является лучшим с точки зрения дизайна API библиотеки, стабильности и функциональности. Я хотел бы использовать что-то, что активно развивается и, надеюсь, будет вокруг на некоторое время. У кого есть предложения, основанные на опыте с помощью одного?
спасибо
7 ответов:
Я лично использую FMDB, и последнее обновление было.
самый простой я нашел это один https://github.com/misato/SQLiteManager4iOS
SQLiteManager Эстер Санчес.
используя его в основном так:
NSArray *results = [dbManager getRowsForQuery:@"SELECT * FROM table WHERE id = 1"];
results- это массив, содержащий словари. Каждый словарь представляет собой одну возвращенную строку, где ключами являются имена каждого столбца в таблице.после этого вы можете делать вещи, как это:
NSDictionary *aPerson = [results objectAtIndex:0]; NSString *firstName = aPerson[@"firstName"]; NSString *email = aPerson[@"email"];
Я также поклонник FMDatabase,хотя мне пришлось настроить свою собственную версию. Мои приложения используют слой вокруг него, который я написал под названием ArchDBObject, который прозрачно преобразует объекты в представление базы данных и из него; я думаю о том, чтобы выпустить его в какой-то форме, но я еще не решил, как это сделать.
в любом случае, FMDatabase можно иметь в https://github.com/ccgus/fmdb.
FMDB приятно, потому что это самый легкий способ не иметь дело с вызовами C и преобразования типов, в то же время давая вам полный доступ к SQL.
то, что мне вообще не нравится в объектно-реляционных оболочках, заключается в том, что вы слишком отдаляетесь от генерируемого SQL, и именно тогда производительность может начать страдать.
Я провел последние несколько часов, рассматривая варианты - еще не был в производстве ни с одним из них, так что YMMV.
самый легкий вес обертки я нашел здесь:
http://th30z.netsons.org/2008/11/objective-c-sqlite-wrapper/
Я не знаю, есть ли у него официальное название. Это всего лишь 1 класс, и он абстрагирует гадость api SQLite, оставляя значение работы непосредственно с SQL. Кривая обучения составляет 5 минут, предполагая, что вы уже знаете SQL. Поскольку он настолько мал, я могу себе представить, что было бы легко исправить все, что может пойти не так с ним.
Если вы хотите, вы также можете взглянуть на следующий репозиторий, который предоставляет набор классов, которые могут быть использованы для создания инструкций SQL и обеспечивает простой способ обработки подключения к базе данных SQLite. Он расположен по адресу https://github.com/ziminji/objective-c-sql-query-builder
У меня есть простой ORM поверх FDBM здесь http://code.google.com/p/chibiorm/.
с его помощью вы можете использовать raw SQL, когда хотите, возвращать любой SQL в качестве списка dict или использовать хороший стиль OO.
Comments