swift - Alamofire 超时 url

标签 swift alamofire

我正在使用 Alamofire Swift 库

Alamofire.request
    (RestApiManager.sharedInstance.baseURL+"login?language="+lang, 
    method: .post, 
    parameters: requestDictionary, 
    encoding: URLEncoding.httpBody,
    headers: headers
    ).responseObject(keyPath: "") { (response: DataResponse<User>) in          
        let user = response.result.value
        print(user?.status)
        print(user?.message)             
}

很简单,我想在每次调用时设置 60 秒超时。我喜欢在 60 秒后给出消息连接超时。我也想知道是否存在互联网连接。如果它不存在,我想避免调用 alamofire。

最佳答案

这里是 Swift 3.0/Alamofire 4.0 代码,用于获取具有 60 秒超时的 alamofireManager。 您需要为请求管理器创建一个全局变量:

var alamoFireManager = Alamofire.Manager.sharedInstance

配置自定义参数后:

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
    configuration.timeoutIntervalForRequest = 60 // seconds
    configuration.timeoutIntervalForResource = 60
    self.alamoFireManager = Alamofire.Manager(configuration: configuration)

关于swift - Alamofire 超时 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40466899/

相关文章:

Swift Array.sort() 不接受速记格式的闭包

swift - 检测标签是否触及导航栏

swift - Realm :使用 Alamofire 将 JSON 映射到 Realm 对象

arrays - 自动完成发送数据ID

swift - 如何在下面的代码中发送带有正文的 POST 请求

ios - 使用 ActionButton 时背景屏幕变灰

swift - Swift 枚举可以作为变量引用吗?

ios - NetworkReachabilityManager 或 Reachability 无法识别在没有互联网的情况下连接 wifi

ios - 使用 AlamoFire 在 Swift 中通过证书固定实现的 HTTPS 请求失败

ios - 应用程序启动时 GIDSignIn.sharedInstance.currentUser 始终为零