我正在为iPhone开发,我正在寻找一个好的Cocoa/Objective-C库来处理SQLite.我不想使用标准的过程SQLite C API.我在Objective-C部分的sqlite.org上看到了选项,但我不确定在库API设计,稳定性和功能方面哪个是最好的.我想使用一些积极开发的东西,希望能够存在一段时间.任何人都有基于经验的建议吗?
谢谢
我个人使用FMDB,最后一次更新是昨天.
我也是FMDatabase的粉丝,虽然我不得不自定义我自己的版本.我的应用程序在它周围使用了一个名为ArchDBObject的层,它透明地将对象转换为数据库表示形式; 我正在考虑以某种形式发布它,但我还没有真正决定如何.
无论如何,可以在https://github.com/ccgus/fmdb上获得FMDatabase .
我发现最简单的是这一个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"];
FMDB很不错,因为它是最轻松的方式,无需处理C调用和类型转换,同时仍然可以完全访问SQL.
我通常不喜欢关于对象关系包装器的事情是你离生成的SQL太远了,而且当性能开始受损时.