关于SQLiteDB的介绍请访问:https://github.com/FahimF/SQLiteDB
SQLiteDB使用demo:
1、打开Firefox,工具下的SQLite Manager,没有的安装此插件的自行百度。
2、新建数据库,命名为:data.db。
注意:一定要命名这个名称,至于为什么,你上面的链接找原因。
3、新建一个Xcode项目,把data.db拖到项目中
4、把SQLiteDB库(包含:SQLiteDB.swift和SQLTable.swift两个文件)拖到项目。
5、关于bridging header。如果你的项目之前已经有了Bridging-Header.h文件,只需要把库里面的Bridging-Header.h内容拷贝进去;
如果项目没有Bridging-Header.h文件,需要新建一个,方法是:点击项目,进入Build Settings,找到 Objective-C Bridging Header,填入:Bridging-Header.h即可。
6、使用方法参考下面代码:
/*
* !!!重要说明!!!
* 使用前使用SQLiteManager建一个库data.db,百度搜火狐的插件
* 把data.db加入工程,否则编译报错,找到不库文件
*/
import UIKit
class ViewController: UIViewController {
var db:SQLiteDB!
@IBOutlet var usernam: UITextField!
@IBOutlet var password: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let path = NSHomeDirectory()
print(path)
db = SQLiteDB.shared
let result = db.execute(sql: "create table if not exists t_user (uid integer primary key, uname varchar(20), mobile varchar(20))")
print(result)
initUser()
}
@IBAction func save(_ sender: AnyObject) {
saveUser()
}
func initUser() {
let data = db.query(sql: "select * from t_user")
if data.count>0 {
let user = data[data.count - 1]
usernam.text = user["uname"] as? String
password.text = user["mobile"] as? String
}
}
func saveUser() {
let uname = self.usernam.text!
let mobile = self.password.text!
//插入数据库,这里用到了esc字符编码函数,其实是调用bridge.m实现的
let sql = "insert into t_user(uname,mobile) values('\(uname)','\(mobile)')"
print("sql: \(sql)")
//通过封装的方法执行sql
let result = db.execute(sql: sql)
print(result)
}
}