在做開發的時候,經常會用到單利設計模式,在swift開發中單利有兩種寫法:一種是按照OC的思維方式的寫法,另外一種是純swift的寫法
oc思路 寫法
static var onceToken: dispatch_once_t = 0
static var instance: NetworkTools?
class func shareNetworkTools() -> NetworkTools
{
dispatch_once(&onceToken) { () -> Void in
print("我被調用了")
instance = NetworkTools()
}
return instance!
}
swift 寫法
static let instance: NetworkTools = NetworkTools()
class func shareNetworkTools() -> NetworkTools
{
return instance
}
* let 本身就只會被創建一次
* let 是線程安全的