什么是FMDB
最近在实现一个简单APP的收藏功能,需要用到数据库,将数据存储到本地,但在iOS中使用C语言函数对原生SQLite数据库进行增删改查操作,是比较麻烦的,FMDB是一个针对libsqlite3框架进行封装的第三方库,它使用OC封装了c语言的API,使用起来比较方便。
FMDB的主要类型
FMDatabase
:一个FMDatabase对象代表一个单独的SQLite数据库,通过SQLite语句执行数据库的增删改查操作
FMResultSet
:使用FMDatabase对象查询数据库后的结果集
FMDatabaseQueue
:用于多线程操作数据库,它保证线程安全
如何使用FMDB
导入库
和其他的第三库一样,我们需要将FMDB导入到工程,这里我使用的是CocoaPod导入,这个在之前的博客中有介绍过如何导入,iOS——Masonry的简单使用,只需要将其中的pod 'Masonry'
,改成pod 'FMDB'
即可。
如果要使用多个第三方库,直接加入pod ‘FMDB’。
platform:ios,'9.0'
target '知乎日报' do
pod 'JSONModel'
pod 'Masonry'
pod 'SDWebImage'
pod 'MJRefresh'
pod 'FMDB'
end
最后cd 到文件目录下,输入 pod install
.这样就导入了。
简单步骤
1.首先导入头文件
#import "FMDB.h"
2.创建数据库属性,以及你想导入数据库的属性
@interface HomeController ()
@property (nonatomic, strong) FMDatabase *db;
// 数据库路径
@property (nonatomic, strong) NSString* dbPath;
// 设置数据库存储的数据
@property (nonatomic, strong) NSString* titleString;
@property (nonatomic, strong) NSString* imageUrlString;
@property (nonatomic, strong) NSString* webViewString;
// 标记数据是否被找到
@property (nonatomic, assign) int ans;
@end
3.创建数据库
// 创建数据库
- (void)getDatabase {
//获得数据库文件的路径
NSString* doc=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString* fileName