ios - 为什么我不能初始化 Alamofire 4 session 管理器?

标签 ios swift alamofire

我在初始化 Alamofire 4.0 session 管理器时遇到问题。我的代码如下:

func configAlamoManager() {

        let configuration = URLSessionConfiguration.default
        configuration.timeoutIntervalForRequest = 20
        if Features.JWT_AUTH {
            let user = SessionManager.getCurrentUser()
            if let jwtToken = user.jwtToken {
                let bearer = "Bearer \(jwtToken)"
                configuration.httpAdditionalHeaders = ["MyCompany-Authorization": bearer, "MyCompany-User-Agent": Config.MyCompanyUserAgentDataString]
            } else {
                configuration.httpAdditionalHeaders = ["MyCompany-User-Agent": Config.MyCompanyUserAgentDataString]
            }
        }

        alamoManager = Alamofire.SessionManager(configuration: configuration)

    }

对于 alamoManager = Alamofire.SessionManager(configuration: configuration) 行,我收到错误“无法使用类型为 (configuration: URLSessionConfiguration) 的参数列表调用 SessionManager”。这里的问题是什么?我正在关注文档:https://github.com/Alamofire/Alamofire#modifying-the-session-configuration。我似乎以完全相同的方式初始化 session 管理器。对此的任何指示都将不胜感激!

最佳答案

可能你有这条线:

var alamoManager = Alamofire.SessionManager

但通过这一行,您可以调用常见的 Alamofire.SessionManager 初始化。

尝试将您的全局属性声明为:

var alamoManager = SessionManager()

所以它成为一个通用的 SessionManager 类型,带有默认的 SessionManager 初始化。

关于ios - 为什么我不能初始化 Alamofire 4 session 管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39629632/

相关文章:

iOS 应用内购买 : multiple accounts

ios - Moya-ObjectMapper 响应处理

ios - 在 Swift 的 Controller 中传输值的问题

swift - RealityKit – 将 CGPoint 转换为 SIMD<Float>

swift - 无法在 swift ("if"或可能 "while"中创建正确的函数)

swift - 如何在 Alamofire 中正确提供参数

ios - 如何以 JSON 格式返回 Glassdoor API

ios - 动态更改包含 Collection View 的单元格的高度

ios - 如何创建具有非透明边框的透明 UIView

java - Objective-C 中 Java ArrayList 的等价物