准备工作
- 先去github 下载工程文件
fmdb GitHub地址
只用到fmdb文件下的文件,把那些加进来即可。
src目录下的文件
注意加入的方式
可以直接拖进来 选择 create groups方式 就可以直接引用里面的文件了。
最好的方式是 在xcode里 new group 然后 在location中 建同名文件夹 只选中需要的文件拖进来。 因为有的项目用svn,文件下会有一些隐藏文件,直接拖进来,svn提交时可能会有冲突,不容易被发现。
使用
- (void)initDB
{
NSString* docsdir = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString* dbpath = [docsdir stringByAppendingPathComponent:@"users.sqlite"];
FMDatabase *db = [FMDatabase databaseWithPath:dbpath];
[db open]; //这一步才创建 sqlite文件
}
tips
在FMDatabase 那一行打个断点,运行查看沙盒文件发现 此时 还没有创建.sqlite文件 是在
[db open] 这一步创建的
其实 数据库文件 后缀 .db .sqlite 都没关系 不是由文件后缀决定的。数据库都可以打开
使用
出了查询操作 都是用update语句
-[FMDatabase executeUpdate:error:withArgumentsInArray:orVAList:]
查询的基本使用也很简单。
一般项目中使用数据库 都要涉及到多线程存储
即很少在主线程存数据库 一般都是数据模型 [model save] 在次线程中进行
需要使用FMDatabaseQueue来保证线程安全
网友评论