swift开发笔记8 - sqlite3数据的使用(xcode 7,ios9)
发布时间:2020-12-14 01:47:22 所属栏目:百科 来源:网络整理
导读:由于考虑将来还要开发android版本app,为了移植方便,所以使用了sqlite3来做数据持久化,到时候把sql语句拷过去还能用。 1、 首先用xcode载入sqlite3类库 选择工程的TARGETS-build phases-link binary with libraries,点击“+”按钮,选择类库,点击“add”
由于考虑将来还要开发android版本app,为了移植方便,所以使用了sqlite3来做数据持久化,到时候把sql语句拷过去还能用。 1、 首先用xcode载入sqlite3类库 选择工程的TARGETS-build phases-link binary with libraries,点击“+”按钮,选择类库,点击“add”添加:
(输入sql查找:)
2、 sqlite3是 c语言写的类库,所以还要引用他的头文件。在工程里新建一个文件,类型为“.h”文件,命名为:ProjectSecretary2-Bridging-Header.h ,这个文件就是桥接文件,然后在这个文件里加一行代码: #import "sqlite3.h" 3、 然后告诉xcode编译时要引入这个类库头文件 在targets->build settings ->Object-C Bridging Header 输入头文件名即可,要注意的是
4、 现在可以在代码里打开数据库了: let DBFILE_NAME = "psList.sqlite3" var db:COpaquePointer = nil //获取sqlite3数据库文件位置 func applicationDocumentsDirectoryFile() ->String { let documentDirectory: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true) let path = documentDirectory[0].stringByAppendingPathComponent(DBFILE_NAME) as String NSLog("path : %@",path) return path } //创建一个系统配置表 func getSysConfig()->Dictionary<String,String>{ var theResult:Dictionary<String,String>=Dictionary<String,String>() let writableDBPath = self.applicationDocumentsDirectoryFile() let cpath = writableDBPath.cStringUsingEncoding(NSUTF8StringEncoding) if sqlite3_open(cpath!,&db) != SQLITE_OK { sqlite3_close(db) assert(false,"数据库打开失败。") } else { //创建一个系统参数配置表,有3个字段,分别是 名字、值和备注 let sql = "CREATE TABLE IF NOT EXISTS SysConfig (name TEXT PRIMARY KEY,value TEXT,comment TEXT)" let cSql = sql.cStringUsingEncoding(NSUTF8StringEncoding) if (sqlite3_exec(db,cSql!,nil,nil) != SQLITE_OK) { sqlite3_close(db) assert(false,"建表失败。") } sqlite3_close(db) } return theResult } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 在整个页面生命周期中,会话中存储的变量是一次还是多
- c – 如何获取使用Visual Studio的Boost库二进制文件?
- PostgreSQL:Problem running post-install step. The data
- 第二部分:如何使Ruby AES-256-CBC和PHP MCRYPT_RIJNDAEL_1
- ruby-on-rails – 用于不应存在的模板的Rails ActionView :
- C#中的类和基类继承
- c – ld:重复的符号
- Heritrix1.14源码分析(2) 配置文件order.xml介绍
- redux
- Activiti基础教程--01(简介、代码生成Activiti的25张表、A