在iPhone上用于SQLite的最佳Cocoa / Objective-C包装库

我正在开发iPhone,并正在寻找一个好的Cocoa / Objective-C库来处理SQLite。 我不想使用标准的程序SQLite C API。 我在Objective-C部分的sqlite.org上看到了一些选项,但是我不确定在库APIdevise,稳定性和function方面哪个最好。 我想用一些正在积极开发的东西,希望能够在一段时间内出现。 任何人都有基于使用经验的build议?

谢谢

我个人使用FMDB ,最后一次更新是昨天。

我find的最简单的是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的图层,该图层透明地将对象转换为数据库表示forms, 我正在考虑以某种forms发布它,但我还没有真正决定如何。

无论如何,FMDatabase可以在https://github.com/ccgus/fmdb

FMDB是很好的,因为它是不必处理C调用和types转换的最轻的方法,同时还可以让您完全访问SQL。

我通常不喜欢的关于对象关系包装的东西是,你离生成的SQL太远了,这就是性能开始受到影响的时候。

我花了最后几个小时来看看这些选项 – 还没有进行任何生产,所以YMMV。

我find的最轻的包装纸在这里:

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

我不知道它是否有正式名称。 它只是一个类,它抽象SQLite api的糟糕,而留下直接与SQL工作的价值。 学习曲线是5分钟,假设你已经知道SQL了。 既然它太小了,我想可以很容易地解决任何可能出错的东西。

如果你愿意,你也可以看看下面的仓库,它提供了一组可以用来创buildSQL语句的类,并提供了一个简单的方法来处理SQLite数据库连接。 它位于https://github.com/ziminji/objective-c-sql-query-builder

我在这里http://code.google.com/p/chibiorm/上有一个简单的ORM。;

有了它,你可以根据需要使用原始SQL,将任何SQL作为字典列表返回,或使用漂亮的OO风格。