swift sqlite3 學習心得

2021-07-02 17:26:04 字數 1133 閱讀 2606

ios開發中,需要使用sqlite,所以試圖學習,但學習過程中似乎是遇到了一點困難:

在bing.com搜 「swift sqlite」,得到的多是基於某個封裝過sqlite的framework(如fmdb),這不是我想要的。我想要的是不用開源的封裝,而是直接使用sqlite的api

在github上搜 「swift sqlite」,找到的又多是那些framework的「老窩」。它們都是基於sqlite的api,但太成熟太龐大,只能用來膜拜,不能用來學習(至少不適合現階段的我)。

翻了好幾頁,終於找到乙個符合預期的sfest 。在其中乙個有50行的類中看到了sqlite3_open / sqlite3_prepare_v2 等api的影子。雖然**不多,但sqlite的使用已可見一斑。現在問題又來了,這幾個api的作用是什麼,sqlite都有哪些api,以及如何系統掌握sqlite的使用,這些問題在這裡又無法得到解決。

於是,轉而去找sqlite的官網,希望能在那裡得到第一手的學習資料。經過一番折騰,果然沒讓我失望,找到了這篇讓我期待已久,一語破的的好文:an introduction to the sqlite c/c++ inte***ce 關於sqlite的「基本疑問」,在該文中已得到解決,我對sqlite的恐懼也即刻消失了。在c++開發時也曾用過sqlite,但那時用的別人封裝過的class,未試圖去窺探sqlite的樣子,自然也未遇到此文。

關於知識:

兩個object (connection / prepared statement),6個api(基於兩個object,實現資料操作)

prepared statement為由text的sql語句「編譯」(通過sqlite3_prepare_v2)出來的「可執行程式」,sql語句相當於「原始碼」,執行該程式,就會對資料進行讀/寫等操作

關於過程:

學習新東西,需先清晰確定乙個目標,各種努力都指向該目標。因為在學習過程中總是要遇到困難,往往要經過幾番「柳暗花明」才能到達到該目標。如果一開始目標就不確定,那很容易在困難重重的過程中放棄目標,毫無收穫。

目標最好還是定在「基礎性」 「本質性」的知識上,否則學習效果總是有「隔層紗」的不確定感覺。比如,如果我以學習fmdb為目標,而不是直奔sqlite api,就有一種浮於表面/隔靴搔癢之嫌。即便會用fmdb完成功能,總覺得是沒有什麼收穫。

英語好一點,會沾光不少。

SET IDENTITY INSERT 學習心得

color indigo color size large 想要將值插入到自動編號 或者說是標識列,identity 中去,需要設定 set identity insert 示例 1.首先建立乙個有標識列的表 create table products id int identity primary...

MVC Rounting System 學習心得

1.所有的routing 規則都存在routtable.routes這個全域性的collection當中 routeconfig.registerroutes routetable.routes 2.下面是具體的方法,將所有的routing規則註冊到全域性變數裡。public static void...

讓心引領 大話獵頭 3

讓心引領 leo 昨天,接到一位網際網路總監 ann的 諮詢她換工作的事兒。ann是之前的位候選人,在國內位列前 3的網際網路 負責乙個部門的運營。在漫長的 15年職業經歷中,她只換過 1次工作,就是從傳統 到現在的網際網路公司。4年前我作為獵頭聯絡 ann的時候用金錢 職位 良好發展等手段進行 她...