使用SQLite.swift项目实践
2017-09-05 本文已影响1318人
趁时光还在扬帆起航
为什么要写这篇文章呢?因为第一次使用SQLite.swift建立数据库;一开始都不会,最开始是GitHub上看文档;但我发现里面讲得很浅根本满足不了我的需求。然后去百度google,我发现这个玩意儿好像很不受欢迎,或者说很新鲜,还是说大家习惯了使用FMDB(我这人有个洁癖使用Swift开发绝不使OC的第三方库,我就喜欢Swift用Swift的,OC 用OC的)能参考的资料屈指可数。由于我也不是特别精通这里我只列举我项目的一些用法。
1.创建数据库表的存放路径

2.创建表
2.1创建表之前要设计表,决定需要哪些键: 由于我做的是缓存微博首页的数据,首先有一个主键statusId 每条微博的微博id; 其次每条微博的内容statusText,这里我把那条微博对应的JSON字典转换成了字符串存放; 然后是每个用户userId的Id,用来记录是否是当前登录用户;最后是插入数据库的时间createTime,要做定时清除避免缓存过大。
在创表之前先定义这几个属性

2.2创表

3.插入数据

4.根据条件查询数据 如何创建多个筛选条件让我很头疼
多个条件通过表对象table &&拼接而且这个属性的类型很坑逼什么 Expression还需要转一下!
table.filter(self.userId == Expression(userId) &&
self.statusId <= Expression<Int64>(statusId))
.order(self.statusId.desc) //排序 微博id倒序
.limit(20)//一次取20条数据
完了之后用数据库连接对象prepre就可以拿到结果

5.根据条件删除数据
