FMDB
全称FMDatabase,是一个用Objective-C写的sqlite封装
下载
可以通过github下载源码包,复制src/fmdb/下所有文件到项目目录下
也可以通过CocoaPods,添加pod 'FMDB'到配置文件中
代码
在Swift项目中添加Objective-C代码,会提示添加Bridgging-Header
在Bridgging-Header.h中添加#include "FMDB.h"就像写C的头文件那样
然后Swift里就可以用FMDB的所有类了
获取DB
| 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 | class func getDb() -> FMDatabase {     let filemgr = NSFileManager.defaultManager()     let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)     let docsDir = dirPaths[0] as! String     //数据库路径     var databasePath = docsDir.stringByAppendingPathComponent("travel.db")     //如果文件不存在则创建     if !filemgr.fileExistsAtPath(databasePath) {         let db = FMDatabase(path: databasePath)         if db == nil {             println("Error: \(db.lastErrorMessage())")         }         if db.open() {             let sql_stmt = "CREATE TABLE IF NOT EXISTS FAVORITE (TITLE TEXT PRIMARY KEY, BOOKURL TEXT, HEADIMAGE TEXT, TEXT TEXT)"             if !db.executeStatements(sql_stmt) {                 println("Error: \(db.lastErrorMessage())")             }             db.close()         } else {             println("Error: \(db.lastErrorMessage())")         }     }     let resDb = FMDatabase(path: databasePath)     return resDb } | 
添加数据
| 1 2 3 4 | var db:FMDatabase = self.getDb() db.open() db.executeUpdate("INSERT INTO FAVORITE(TITLE,BOOKURL,HEADIMAGE,TEXT)VALUES(?,?,?,?)", withArgumentsInArray: [title,bookUrl,headImage,text]) db.close() | 
删除数据
| 1 2 3 4 | var db:FMDatabase = self.getDb() db.open() db.executeUpdate("DELETE FROM FAVORITE WHERE TITLE = ?", withArgumentsInArray: [title]) db.close() | 
查找数据
| 1 2 3 4 5 6 7 8 9 10 11 12 | var db = DB.getDb() db.open() let rs:FMResultSet = db.executeQuery("SELECT * FROM FAVORITE", withArgumentsInArray: []) while(rs.next()) {     var fd = FavoriteData()     fd.title = rs.stringForColumn("TITLE")!     fd.headImage = rs.stringForColumn("HEADIMAGE")!     fd.bookUrl = rs.stringForColumn("BOOKURL")!     fd.text = rs.stringForColumn("TEXT")!     list.append(fd) } db.close() | 
Enjoy it!
找回了一点写后端的感觉,呕吼吼吼