使用SQLite.swift項目實踐

為什么要寫這篇文章呢?因為第一次使用SQLite.swift建立數(shù)據(jù)庫;一開始都不會,最開始是GitHub上看文檔;但我發(fā)現(xiàn)里面講得很淺根本滿足不了我的需求。然后去百度google,我發(fā)現(xiàn)這個玩意兒好像很不受歡迎,或者說很新鮮,還是說大家習(xí)慣了使用FMDB(我這人有個潔癖使用Swift開發(fā)絕不使OC的第三方庫,我就喜歡Swift用Swift的,OC 用OC的)能參考的資料屈指可數(shù)。由于我也不是特別精通這里我只列舉我項目的一些用法。

1.創(chuàng)建數(shù)據(jù)庫表的存放路徑


QQ20170905-103915.png

2.創(chuàng)建表
2.1創(chuàng)建表之前要設(shè)計表,決定需要哪些鍵: 由于我做的是緩存微博首頁的數(shù)據(jù),首先有一個主鍵statusId 每條微博的微博id; 其次每條微博的內(nèi)容statusText,這里我把那條微博對應(yīng)的JSON字典轉(zhuǎn)換成了字符串存放; 然后是每個用戶userId的Id,用來記錄是否是當(dāng)前登錄用戶;最后是插入數(shù)據(jù)庫的時間createTime,要做定時清除避免緩存過大。
在創(chuàng)表之前先定義這幾個屬性


QQ20170905-104851.png

2.2創(chuàng)表


QQ20170905-105343.png

3.插入數(shù)據(jù)
QQ20170905-105557.png

4.根據(jù)條件查詢數(shù)據(jù) 如何創(chuàng)建多個篩選條件讓我很頭疼
多個條件通過表對象table &&拼接而且這個屬性的類型很坑逼什么 Expression還需要轉(zhuǎn)一下!

table.filter(self.userId == Expression(userId) &&
self.statusId <= Expression<Int64>(statusId))
.order(self.statusId.desc) //排序 微博id倒序
.limit(20)//一次取20條數(shù)據(jù)
完了之后用數(shù)據(jù)庫連接對象prepre就可以拿到結(jié)果


QQ20170905-110221.png

5.根據(jù)條件刪除數(shù)據(jù)


QQ20170905-110429.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,983評論 25 709
  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中。。。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,489評論 1 23
  • 諾基亞對產(chǎn)品的理解是工業(yè)時代的功能為王,蘋果對產(chǎn)品的理解是互聯(lián)網(wǎng)時代的體驗、情感為王。塞班是成本中心,ios和安卓...
    毛攀閱讀 197評論 0 0
  • 溝通不到位則「實施」必然不到位,那么再好的運營策略也白搭。 題記:看李少加的文章《受益無窮的溝通能力:基于價值對等...
    勇哥在進化閱讀 1,474評論 0 1

友情鏈接更多精彩內(nèi)容