SQLite.swift 是一个使用纯 Swift 语言封装 SQLite3 的操作框架。
特性:
-
简单的查询和参数绑定接口
-
安全、自动类型数据访问
-
隐式提交和回滚接口
-
开发者友好的错误处理和调试
-
文档完善
-
通过广泛测试
示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import SQLite let db = Database( "path/to/db.sqlite3" )
db.execute( "CREATE TABLE users (" +
"id INTEGER PRIMARY KEY, " +
"email TEXT NOT NULL UNIQUE, " +
"manager_id INTEGER, " +
"FOREIGN KEY(manager_id) REFERENCES users(id)" +
")"
) let stmt = db.prepare( "INSERT INTO users (email) VALUES (?)" )
for email in [ "alice@example.com" , "betsy@example.com" ] {
stmt.run(email)
} db.totalChanges // 2
db.lastChanges // {Some 1}
db.lastID // {Some 2}
for row in db.prepare( "SELECT id, email FROM users" ) {
println(row)
// [Optional(1), Optional("betsy@example.com")]
// [Optional(2), Optional("alice@example.com")]
} db.scalar( "SELECT count(*) FROM users" ) // {Some 2}
let jr = db.prepare( "INSERT INTO users (email, manager_id) VALUES (? ?)" )
db.transaction( stmt.run( "dolly@example.com" ),
jr.run( "emery@example.com" , db.lastID)
) |
安装
Note: SQLite.swift requires Swift 1.1 (available in Xcode 6.1).
To install SQLite.swift:
-
Drag the SQLite.xcodeproj file into your own project. (Submodule, clone, or download the project first.)
-
In your target’s Build Phases, add SQLite iOS (or SQLite Mac) to the Target Dependencies build phase.
-
Add the appropriate SQLite.framework product to theLink Binary With Libraries build phase.
-
Add the same SQLite.framework to a Copy Files build phase with aFrameworks destination. (Add a new build phase if need be.)
项目主页:http://www.open-open.com/lib/view/home/1412900499530
https://github.com/stephencelis/SQLite.swift