在类中声明 Alamofire.SessionManager 一次,以便在类内的各种实用程序函数中使用它
Posted
技术标签:
【中文标题】在类中声明 Alamofire.SessionManager 一次,以便在类内的各种实用程序函数中使用它【英文标题】:Declaring Alamofire.SessionManager once in the class for using it in various utility functions inside the class 【发布时间】:2018-09-24 14:18:49 【问题描述】:所以我正在为我的项目创建一个用于 Alamofire 网络的实用程序类。
我里面有各种功能,比如:
func createAccount()
func login()
我想对所有这些函数的请求和响应使用固定的时间限制。
我知道这同样适用:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10
configuration.timeoutIntervalForResource = 10
AFManager = Alamofire.SessionManager(configuration: configuration)
但是,我不想在所有实用程序函数中初始化 AFManager。我想要一个声明。我该怎么做?我无法得到它。
【问题讨论】:
您在寻找“单例”模式吗? ***.com/questions/37953317/… 【参考方案1】:你需要的是一个property:
class NetworkManager
private let manager: Alamofire.SessionManager =
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10
configuration.timeoutIntervalForResource = 10
retrurn Alamofire.SessionManager(configuration: configuration)
()
func createAccount()
manager.request(...)
...
func login()
manager.request(...)
...
【讨论】:
以上是关于在类中声明 Alamofire.SessionManager 一次,以便在类内的各种实用程序函数中使用它的主要内容,如果未能解决你的问题,请参考以下文章