Swift中利用单例管理FMDB数据库

来源:互联网 发布:mysql主键自动增长 编辑:程序博客网 时间:2024/05/16 18:50

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

//  Created by 秦志伟 on 14-6-12.import UIKitclass 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,第二个为多参数(若第二个参数为空,则[]里面为空;若是多个参数则将对象存入参数数组,将整个数组当做第二个参数传入)            var isSuccessed:Bool = dataBase!.executeUpdate(createImgTableSql,withArgumentsInArray: [])            if isSuccessed {                println("成功!")            }else{                println(dataBase!.lastErrorMessage())            }        }            }                        }
别的就不多说了,代码中注释了一些。个人也在学习阶段,如有错误,欢迎批评指正。转载请注明出处~!!!!分享一个交流群:爱疯、爱Coding:209476515

1 0
原创粉丝点击