由于有的项目中很少使用数据库,数据的存储一般用本地化或者plist即可,稍微复杂或者数据量大的数据存储时候,苹果给我们提供的是SQLite,而FMDB就是对其进行的封装。在这里记录一下。
1.Cocoapods导入FMDB
1 | pod 'FMDB' |
2.下载一个可以打开sql文件的数据库程序
我在这里是直接在App Store中搜了一个,也可以用火狐浏览器带的插件,看你选择,都可以。
以项目中的问题来说明一下,在这里举个购物车的例子,没有登录的情况下,我想将用户添加到购物车的东西保存在本地。
1.先定义一个继承于NSObject的shopping类,在.h文件中定义多个变量,在这里要注意的是id类型。
1 | #import <Foundation/Foundation.h> |
2.在控制器中,引入FMDB
1 | #import <FMDB.h> |
3.定义沙盒保存sql路径和FMDB类
1 | { |
4.创建sql,并打开数据库
1 | _localPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; |
5.创建表,在这里注意下关键key - id
1 | BOOL result = [_database executeUpdate:@"create table if not exists tb_shop (id integer primary key autoincrement, name text not null, sumPrice double not null, kindstring text not null, num double not null, dic map not null)"]; |
这里不区别大小写。
6.增删改查
1 | //添加第一条数据 |
1 | //删除数据 |
1 | //修改数据 |
1 | //查询数据 |
删除表格
1 | //删除表 |