AWSQLiteDB 是 Swift 中对 libsqlite3.0 的简单包装
通过 Submodule 将 SecrecySwift 作为嵌入式框架添加到项目中。
添加 AWSQLiteDB
作为 Submodule
git submodule add https://github.com/adow/AWSQLiteDB.git
在 Xcode 中打开项目,将 AWSQLiteDB.xcodeproj 拖放到您的项目根目录下;
目标
,在 通用
中添加 嵌入式二进制文件
,选择 AWSQLiteDB.framework
,确保在 构建阶段
中 链接二进制与库
中有 AWSQLiteDB.framework
;目标
的 构建阶段
的 链接二进制与库
中添加 libsqlite3.0.tbd
;let cache_dir = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let db_filename = "\(cache_dir)/sql.db"
let db = SQLiteDB(path: db_filename)
SQLiteDB 实例释放时会自动关闭数据库
db.close()
let cache_dir = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let db_filename = "\(cache_dir)/sql.db"
guard let _ = try? SQLiteDB.setupSharedDBPath(db_filename) else {
return
}
创建表
var sql = "create table test (id INTEGER PRIMARY KEY AUTOINCREMENT, name CHAR(32) NOT NULL)"
print("create table:\(SQLiteDB.sharedDB.execute(sql))")
插入
sql = "insert into test (id,name) values (?,?)"
var result = SQLiteDB.sharedDB.execute(sql, parameters:9, "adow")
print("insert:\(result)")
更新
sql = "update test set name=? where id =?"
result = SQLiteDB.sharedDB.execute(sql, parameters: "reynold qin",9)
print("update:\(result)")
sql = "select * from test"
let rows = SQLiteDB.sharedDB.query(sql)
for r in rows {
let id = r["id"]!.value!.integer!
let name = r["name"]!.value!.string!
print("\(id):\(name)")
}