设为首页 加入收藏

TOP

Swift中利用单例管理FMDB数据库
2015-07-24 06:13:48 来源: 作者: 【 】 浏览:26
Tags:Swift 利用 单例 管理 FMDB 数据库

下班了。。。赶紧 把我利用Swift利用单例管理FMDB数据库的方法分享出来:

//  Created by 秦志伟 on 14-6-12.
import UIKit

class ZWDBManager: NSObject {
    //前提将FMDBDatabase的头文件加入到桥接文件中
    var dataBase:FMDatabase?
    var lock:NSLock?
    //创建单例
    class func shareInstance()->ZWDBManager{
        struct qzSingle{
         static var predicate:dispatch_once_t = 0;
         static var instance:ZWDBManager? = nil
        }
        //保证单例只创建一次
        dispatch_once(&qzSingle.predicate,{
            qzSingle.instance = ZWDBManager()
            })
        return qzSingle.instance!
    }
    //构造方法中对数据库进行创建并打开
    init(){
        var path:String = NSHomeDirectory().stringByAppendingString("/Documents/MCA.db")
        lock = NSLock()
        dataBase = FMDatabase(path:path)
        if dataBase!.open(){
            var createImgTableSql:String = "create table if not exists ImgInfo(Id integer primary key autoincrement,picName varchar(256),picPath varchar(256),FID varchar(256),userID varchar(256))"
            //在这里要传入两个参数:第一个为创建表的sql,第二个为多参数(个人理解,之前只传入sql但是一直报错,个人理解Swift中可返回多参数,传入多参数可能也如此)
            var isSuccessed:Bool = dataBase!.executeUpdate(createImgTableSql,withArgumentsInArray: [])
            if isSuccessed {
                println("成功!")
            }else{
                println(dataBase!.lastErrorMessage())
            }
        }
        
    }
    
    
    
    
    
    
}
别的就不多说了,代码中注释了一些。个人也在学习阶段,如有错误,欢迎批评指正。转载请注明出处~!!!!分享一个交流群:爱疯、爱Coding:209476515

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ibatis实战之OR映射 下一篇论C/C++数据在内存中的二进制存放..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: