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