swift 單例實現

swift 單例實現

  • 在 Swift 中,方法中不允許定義static 的變量
  • 第一種: 使用dispatch
    static var onceToken:dispatch_once_t = 0
    static var instance : NetworkTools?

    class func shareTools() -> NetworkTools {

        dispatch_once(&onceToken) { () -> Void in
            instance = NetworkTools()
        }

        return instance!
    }

    internal required init(){
        super.init()
    }
  • 第二種: swift 獨有的單例創建方式
    static let _instance : NetworkTools = {

        let tool  = NetworkTools()
        //tool.responseSerializer = AFHTTPResponseSerializer()
         tool.responseSerializer.acceptableContentTypes?.insert("text/plain")
        return tool
    }()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章