在 Swift 裡使用 SQLite 數據庫

SQLite的

說起 SQLite,它和你熟知的 MySQL 一樣,都是關係型數據庫管理系統,但與後者不同的地方在於,它完全不需要對應的獨立服務器!

一般說起來,SQLite 都是以文件的形式存在,大多用在應用的內嵌儲存裡。通過在應用代碼裡加載 SQLite 庫,就可以很方便地直接存取 SQLite 文件裡的數據了。

SQLite 由 C 編寫,所以你懂的,要調用它的庫,一定也是 C 語言,什麼指針啦……

要訪問 SQLite 數據庫裡的數據——畢竟還是數據庫,所以你只需要像訪問其他數據庫一樣,在程序內使用 SQL 即可。

FMDB

當然了,雖然 Swift 本身也可以橋接 C 語言來使用 SQLite 庫,但這樣太麻煩了,尤其 C 不是 OOP ,你可能一下子用起來也不習慣,這裡我們介紹最流行的第三方庫:FMDB (飛肉庫)。

它把 SQLite 庫的所有功能用 OC 封裝,這樣我們用起來就方便多了。得益於 Xcode 的高能,我們可以直接全自動地把 FMDB 的 OC 代碼橋接為 Swift 。

導入代碼

從 Github 下載 FMDB 項目文件之後,到它的 SRC 目錄中,將所有的 .H. 文件(OC 代碼文件)拖入你 Xcode 要使用 FMDB 的項目的文件目錄中,這時候 Xcode 會檢測到你導入了 Objective-C 的代碼,會提示你是否創建橋接文件,確認之後,橋接文件會自動創建。

接下來編輯生成的橋接文件,在裡邊加入一句話:

這樣,就導入成功了。

鏈接 SQLite 庫

當然了,只導入了 FMDB 是不夠的,它不能直接操作 SQLite 文件,我們還需要給項目鏈接 FMDB 所依賴的 SQLite 庫,如果你現在直接編譯,會遇到 39 個錯誤。

在 Xcode 項目里為 FMDB 添加 SQLite 庫鏈接

在 Xcode 項目里為 FMDB 添加 SQLite 庫鏈接

  1. 點擊你 Xcode 左側文件樹最頂端的項目文件;
  2. 在中間一欄選擇你的編譯目標;
  3. 在右側選擇“Build Phases”選項卡;
  4. 在“Link Binary With Libaraies”選項中點擊加號;
  5. 搜索並添加 libsqlite3.0.dylib

使用 FMDB

我們給 FMDB 傳入數據庫地址即可,如果對應地址的文件不存在,則 FMDB 會嘗試創建文件然後打開。

你也可以不傳入文件地址,這樣的話 FMDB 就會把數據庫創建在臨時位置,一旦斷開,文件也就沒了。

使用之前需要先打開數據庫,使用如下語句:

如果執行成功,說明已經成功打開數據庫,接下來就可以執行 SQL 了:

這裡執行語句可以是所有的 SQL,使用 ? 作為佔位符,然後把要寫入的值放到後邊的參數數組裡作為形式參數傳入,注意佔位符的數量一定要和數組長度相等!

執行完畢之後,關閉數據庫:

>當然了,實際使用當中,你應該在創建一個 Model 來管理數據庫的存取,而不是直接在代碼中執行 SQL,這樣才符合 OOP 的設計原則。 ?

了解更多

http://www.sqlite.org

github.com/ccgus/fmdb

http://www.theappguruz.com/blog/use-sqlite-database-swift

本文由 落格博客 原創撰寫:落格博客 » 在 Swift 裡使用 SQLite 數據庫

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/1842.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

發表評論

您的電子郵件地址不會被公開. 必填字段標 *