【问题标题】:Declaring Alamofire.SessionManager once in the class for using it in various utility functions inside the class在类中声明 Alamofire.SessionManager 一次,以便在类内的各种实用程序函数中使用它
【发布时间】: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。我想要一个声明。我该怎么做?我无法得到它。

【问题讨论】:

标签: ios swift xcode alamofire


【解决方案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(...)
        ...
    }

}

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 1970-01-01
    • 2021-07-01
    • 2012-04-22
    • 1970-01-01
    • 2021-08-25
    • 2011-11-02
    • 2011-09-19
    • 1970-01-01
    相关资源
    最近更新 更多