Объявление Alamofire.SessionManager один раз в классе для использования его в различных служебных функциях внутри класса - PullRequest
0 голосов
/ 24 сентября 2018

Итак, я делаю служебный класс для сети Alamofire для моего проекта.

У меня есть различные функции, такие как:

func createAccount()

func login()

Я хочу использовать фиксированный лимит времени для всех этихзапросы и ответы функции.

Я знал, что это работает одинаково:

let configuration = URLSessionConfiguration.default
        configuration.timeoutIntervalForRequest = 10
        configuration.timeoutIntervalForResource = 10
        AFManager = Alamofire.SessionManager(configuration: configuration)

Однако я не хочу инициализировать AFManager во всех служебных функциях.Я хочу одно заявление об этом.Как я могу сделать то же самое?Я не могу получить это.

1 Ответ

0 голосов
/ 24 сентября 2018

То, что вам нужно, называется свойство :

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(...)
        ...
    }

}
...