程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Swift中利用單例管理FMDB數據庫

Swift中利用單例管理FMDB數據庫

編輯:C++入門知識

下班了。。。趕緊 把我利用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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved