使用SQLite.swift项目实践

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

1.创建数据库表的存放路径


QQ20170905-103915.png

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


QQ20170905-104851.png

2.2创表


QQ20170905-105343.png

3.插入数据
QQ20170905-105557.png

4.根据条件查询数据 如何创建多个筛选条件让我很头疼
多个条件通过表对象table &&拼接而且这个属性的类型很坑逼什么 Expression还需要转一下!

table.filter(self.userId == Expression(userId) &&
self.statusId <= Expression<Int64>(statusId))
.order(self.statusId.desc) //排序 微博id倒序
.limit(20)//一次取20条数据
完了之后用数据库连接对象prepre就可以拿到结果


QQ20170905-110221.png

5.根据条件删除数据


QQ20170905-110429.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,977评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 5,257评论 1 23
  • 诺基亚对产品的理解是工业时代的功能为王,苹果对产品的理解是互联网时代的体验、情感为王。塞班是成本中心,ios和安卓...
    毛攀阅读 185评论 0 0
  • 沟通不到位则「实施」必然不到位,那么再好的运营策略也白搭。 题记:看李少加的文章《受益无穷的沟通能力:基于价值对等...
    勇哥在进化阅读 1,421评论 0 1