Alamofire 网络错误异常处理
Posted
技术标签:
【中文标题】Alamofire 网络错误异常处理【英文标题】:Alamofire Network error exceptions handling 【发布时间】:2020-07-28 19:50:54 【问题描述】:我目前正在为 ios 开发一个应用程序。我想要实现的大部分功能我已经完成了,但我确实需要一个特别的功能 - 网络错误处理。
例如:一个用户试图在我的应用程序中刷新他的数据。与其让我的应用程序崩溃或根本不做任何事情,我更希望能够捕获、识别该异常,然后使用 AlertDialogs 在屏幕上显示相应的消息。例如:
网络错误 - 标题; 无法访问主机,请检查您的网络连接并重试 - 消息; 确定 - 按钮;我能够在我的 android 应用程序中使用它,它非常有用,但是,我对 Swift 和 iOS 开发还很陌生,所以,请在这里帮助我并指出正确的方向。
我目前正在使用最新的 Alamofire 发送 HTTP 请求,这是我在应用程序中实现的 HTTP 请求示例。
func loadProfile()
let url = Constants.profileURL
let headers: HTTPHeaders = ["Cookie": "username; password"]
AF.request(url, method: .post, headers: headers).response response in
if let data = response.data, let dataString = String(data: data, encoding: .utf8)
if dataString.contains(Constants.loginSuccess)
//Do something
【问题讨论】:
那么,您是在寻找网络错误或在 ios 中显示类似于 android 的警报的方法吗? @Frankenstein 我正在寻找网络错误,我知道如何显示警报对话框 【参考方案1】:Alamofire 的DataResponse
(以及所有响应类型)包含序列化的Result
。您可以使用该值来检查序列化以及一般请求是成功还是失败。然后,您可以将 result
值传递给完成处理程序,以根据需要进行处理。
【讨论】:
以上是关于Alamofire 网络错误异常处理的主要内容,如果未能解决你的问题,请参考以下文章