加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift sqlite3 学习心得

发布时间:2020-12-14 02:11:41 所属栏目:百科 来源:网络整理
导读:iOS开发中,需要使用sqlite,所以试图学习,但学习过程中似乎是遇到了一点困难: 在bing.com搜 “swift sqlite”,得到的多是基于某个封装过sqlite的framework(如fmdb),这不是我想要的。我想要的是不用开源的封装,而是直接使用sqlite的API 在github上搜

iOS开发中,需要使用sqlite,所以试图学习,但学习过程中似乎是遇到了一点困难:

  1. 在bing.com搜 “swift sqlite”,得到的多是基于某个封装过sqlite的framework(如fmdb),这不是我想要的。我想要的是不用开源的封装,而是直接使用sqlite的API

  2. 在github上搜 “swift sqlite”,找到的又多是那些framework的“老窝”。它们都是基于sqlite的api,但太成熟太庞大,只能用来膜拜,不能用来学习(至少不适合现阶段的我)。

  3. 翻了好几页,终于找到一个符合预期的sfest 。在其中一个有50行的类中看到了sqlite3_open / sqlite3_prepare_v2 等api的影子。虽然代码不多,但sqlite的使用已可见一斑。现在问题又来了,这几个api的作用是什么,sqlite都有哪些api,以及如何系统掌握sqlite的使用,这些问题在这里又无法得到解决。

  4. 于是,转而去找sqlite的官网,希望能在那里得到第一手的学习资料。经过一番折腾,果然没让我失望,找到了这篇让我期待已久,一语破的的好文:An Introduction To The SQLite C/C++ Interface 关于sqlite的“基本疑问”,在该文中已得到解决,我对sqlite的恐惧也即刻消失了。在c++开发时也曾用过sqlite,但那时用的别人封装过的class,未试图去窥探sqlite的样子,自然也未遇到此文。

关于知识:

  1. 两个object (connection / prepared statement),6个api(基于两个object,实现数据操作)
  2. prepared statement为由text的sql语句“编译”(通过sqlite3_prepare_v2)出来的“可执行程序”,sql语句相当于“源码”,执行该程序,就会对数据进行读/写等操作

关于过程:

  1. 学习新东西,需先清晰确定一个目标,各种努力都指向该目标。因为在学习过程中总是要遇到困难,往往要经过几番“柳暗花明”才能到达到该目标。如果一开始目标就不确定,那很容易在困难重重的过程中放弃目标,毫无收获。
  2. 目标最好还是定在“基础性” “本质性”的知识上,否则学习效果总是有“隔层纱”的不确定感觉。比如,如果我以学习fmdb为目标,而不是直奔sqlite api,就有一种浮于表面/隔靴搔痒之嫌。即便会用fmdb完成功能,总觉得是没有什么收获。
  3. 英语好一点,会沾光不少。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读