首页 > 代码库 > 单例:用AFNetworking封装举例

单例:用AFNetworking封装举例

 

创建单例的方式

1 import AFNetworking2 3 class NetworkTools: AFHTTPSessionManager {4     5     //let是线程安全的6     //使用单例实例只需要拿到NetworkTools这个类取出来这个常量属性就可以拿到单例7     static let shareInstance: NetworkTools = NetworkTools()8 9 }

 

具体使用方式

 1 import UIKit 2  3 class ViewController: UIViewController { 4  5     override func viewDidLoad() { 6         super.viewDidLoad() 7         //编译运行之后以下两个单例地址是一致的, 8         print(NetworkTools.shareInstance) 9         print(NetworkTools.shareInstance)10     }11 12     override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {13         //运行编译之后以下两个单例地址是不一致的,使用单例必须取到常量属性,直接使用Networking则是又创建了一个实例14         print(NetworkTools.shareInstance)15         print(NetworkTools())16     }17 }

 

单例主要分两种:

1.通过shareInstance拿到的永远是一个实例

2.不管怎样,拿到都永远是一个实例

单例:用AFNetworking封装举例