[英]Alamofire request crashes my app on slow connection
我迷上了ios APP的問題。 我正在使用Alamofire向REST API發出http請求。
一切正常,直到我的應用程序在2G或慢速連接上運行。 它會使應用程序崩潰,而調試器上沒有任何錯誤消息。
這是我的API調用示例,我認為我做得正確。
您知道我該怎么辦才能處理慢速連接嗎?
謝謝您的回復
AF.request(url_to_call, method: .patch, headers: headers).responseJSON{response in
let error_code = response.response?.allHeaderFields["Nx-Error-Code"] ?? "200"
if (error_code as! String != "200"){
parseErrorCode(code: error_code as! String)
} else {
do{
let json = try JSON(data: response.data!)
print(json)
} catch {
print(error)
}
}
}
Alamofire不會使您的應用程序崩潰,而是通過強制將response.data
值不存在(例如超時)解開來使您的應用程序崩潰。 在最簡單的級別上,您需要切換response.result
值,然后處理成功和失敗的情況。
AF.request(url_to_call, method: .patch, headers: headers).responseJSON { response in
switch response.result {
case let .success(value): // Handle success.
case let .failure(error): // Handle failure.
}
}
對於超時或其他系統錯誤,您將在.failure
情況下看到錯誤。 對於諸如響應代碼驗證之類的其他事情,您可能需要在responseJSON
之前添加validate()
調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.