swift sqlite3 学习心得

前端之家收集整理的这篇文章主要介绍了swift sqlite3 学习心得前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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. 英语好一点,会沾光不少。

猜你在找的Swift相关文章