创建单例的方式
import AFNetworking class NetworkTools: AFHTTPSessionManager { //let是线程安全的
//使用单例实例只需要拿到NetworkTools这个类取出来这个常量属性就可以拿到单例
static let shareInstance: NetworkTools = NetworkTools() }
具体使用方式
import UIKit class ViewController: UIViewController { override func viewDidLoad() {
super.viewDidLoad()
//编译运行之后以下两个单例地址是一致的,
print(NetworkTools.shareInstance)
print(NetworkTools.shareInstance)
} override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
//运行编译之后以下两个单例地址是不一致的,使用单例必须取到常量属性,直接使用Networking则是又创建了一个实例
print(NetworkTools.shareInstance)
print(NetworkTools())
}
}
单例主要分两种:
1.通过shareInstance拿到的永远是一个实例
2.不管怎样,拿到都永远是一个实例