我使用的是SQLite.swift,我使用SQLite.swift演示中的這些代碼。爲什麼將數據保存到SQLite數據庫不適用於Swift 2?
import UIKit
import SQLite
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let db = try! Connection()
let users = Table("users")
let id = Expression<Int64>("id")
let email = Expression<String>("email")
let name = Expression<String?>("name")
try! db.run(users.create { t in
t.column(id, primaryKey: true)
t.column(email, unique: true, check: email.like("%@%"))
t.column(name)
})
try! db.run(users.insert(email <- "[email protected]"))
for user in db.prepare(users) {
print("id: \(user[id]), email: \(user[email])")
}
}
}
我第一次運行它,則輸出是:
("SELECT * FROM \"users\"", [])
id: 1, email: [email protected]
然後我除去線17(try! db.run(users.insert(email <- "[email protected]"))
)並再次運行,調試器輸出改變爲:
("SELECT * FROM \"users\"", [])
看起來像[email protected]
沒有保存到數據庫。那麼我做錯了什麼?或者如何將它保存到SQLite數據庫中?
P.S.我正在使用Xcode 7 beta 5,Swift 2.0
請檢查數據庫。該記錄在數據庫中可用? –
我不知道位於@iAshish的數據庫位於何處 – David
您已經給出了將數據庫存儲在文檔目錄路徑的路徑嗎? @大衛 ? –