创建完了tableView,接下来要加载一些真实的数据,用到网络请求工具,我们封装网络请求工具必然用到单例模式及闭包,一步一步进行,现在就封装网络请求类为单例模式。
在swift3.0 已经废弃dispatch_once_t 方法,故不能再用oc的方法写单例,但是Swift给出的单例模式也是极其容易的。
继承自NSObject的SCHHttpManager为网络请求类,创建这个类为单例模式
1.设置静态变量 并保证线程安全
2.获取单例类的对象的类方法
//let 是线程安全的
static let _shareManager = SCHHttpManager()
class func shareManager()->SCHHttpManager{
return _shareManager
}
调用
print(SCHHttpManager.shareManager())
print(SCHHttpManager.shareManager())
输出:两者地址相同,故单例完成
<SCHBurro.SCHHttpManager: 0x60000000db50>
<SCHBurro.SCHHttpManager: 0x60000000db50>