Reputation:
So I am making a utility class for Alamofire networking for my project.
I have various functions inside it like:
func createAccount()
func login()
I want to use fixed time limit for all these function's reuqests and responses.
I have known that this works for the same:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 10
configuration.timeoutIntervalForResource = 10
AFManager = Alamofire.SessionManager(configuration: configuration)
However, I don't want to initialize AFManager in all the utility functions. I want a single declaration of it. How can I do the same? I am not able to get it.
Upvotes: 0
Views: 485
Reputation: 2361
What you need is called a 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(...)
...
}
}
Upvotes: 1