Swift基礎篇——單例

單例

import Foundation

class NetWorkingTools:NSObject {

    //    func == -
    //    class func == +

    // 方法一:
    /*
    static var onceToken: dispatch_once_t = 0;
    static var _instance: NetworkTools?

    class func shareNetworkTools() -> NetworkTools {
    print(onceToken)
    dispatch_once(&NetworkTools.onceToken, {
    _instance = NetworkTools()
    })
    return _instance!
    }
    */

    // 方法二:
    /*
    static let _instance: NetworkTools =  NetworkTools()
    class func shareNetworkTools() -> NetworkTools {
    return _instance
    }
    override init() {
    print("++++++")
    }
    */

    // 方法三:
    // 如果在Swift中編寫單例, 推薦使用如下寫法
    // 而且蘋果有統一的命名規範, 但凡是單例統一是用shareInstance
    static let shareInstance: NetWorkingTools = NetWorkingTools()
}
發佈了49 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章