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
}()