记一次保存UIWebView的缓存经历(一)

最初的想法很单纯,认为UIWebView调用loadRequest之后进行归档,保存成NSData,然后存在数据库里,当需要调用缓存的时候就将它读取出来进行反序列化。忙乎了一天,发现反序列化出来的对象并不包含上次所显示出来的内容。看来归档的时候,并不会将当前显示页面的内容归档进NSData中,不过这次倒腾也学到了几个东西。

 

1. SQLite的使用

    1.1 使用终端命令

             在mac根目录下的usr/bin/,有个可执行文件sqlite3。可以在终端用他创建数据库,建表,插入数据等等。

             创建数据库:  sqlite3 /filePath/dbName.db       在创建数据库时候要注意目标文件所在目录一定要有可写权限,如果该库不存在则会自动建立

    查看现有的表结构:  sqlite> select * from sqlite_master;

                      建表:  sqlite> CREATE TABLE webView(kpiId int,kpiDate text,data blob);       bytes类型的数据最好存储在blob字段下

                创建数据:  sqlite> insert into webView(......)

-------------------------------------------------------------------

    1.2 使用C/C++ function操作数据库

 

       1.2.1 复制数据库文件至可写位置

                   以上都是在终端的命令,sqlite对c/c++也有很好的支持。

                   在ios中,每个应用程序都只能访问到自己的一片文件系统,某应用的跟目录下的文件,程序对他只有访问权并没有读写权。

                   所以在把终端生成好的数据库文件,放在Resource目录之后,还需要程序将该数据库文件复制到Documents目录下才可以对他进行修改。

             

 

       1.2.2 插入数据

        

        在插入的字符比较复杂的时候,可以采用占位符的方式。这是insert bytes类型数据很好的一种方式。

       

        绑定占位符的下标一定是从1开始,这个问题搞了我一下午。

 

 

       1.2.3 查询数据

       

       1.2.4 删除数据

       

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值