ios - Swift 最佳实践 - 使用 API 时如何/何时检查互联网连接和 404

标签 ios swift api

有大量资源可用于检查 Swift 的有效互联网连接(可达性),以及在进行 API 调用时检查 httpResponse 的 statusCode 的方法,但检查和处理这些问题的“正确”方法是什么处理 API 密集型 iOS 应用程序时出现错误(无法访问互联网、服务器 404)?

例如,当应用程序在初始 View (或我认为的 AppDelegate)中启动时,可以检查两者并重定向到显示消息(或显示警报,尽管这些可以被忽略)的“ServerProblemsViewController”。但是,如果有人正在使用您的应用程序,而互联网掉线或服务器无法访问,会发生什么情况?你会如何处理这个问题?

我想知道开发人员是否通常在每个 API 调用之前检查可达性并检查每个 API 调用的返回状态,或者以某种方式将该逻辑封装到辅助函数中?

经验丰富的 iOS 开发者如何处理这种情况?

最佳答案

我检查每次调用的可达性,然后通过将 NSURLResponse 类型转换为 NSHTTPURLResponse(具有 statusCode 属性)来检查响应状态代码。是的,我的请求使用相同的基类来封装所有功能——仅在需要时创建派生类。您可以使用 Apple 的可达性示例代码,该代码已移植到 Swift,通常可以通过社区在 Github 上找到。只需阅读此存储库就可能会回答您有关可达性变化的许多问题。通知 FTW!:https://github.com/ashleymills/Reachability.swift

关于ios - Swift 最佳实践 - 使用 API 时如何/何时检查互联网连接和 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973162/

相关文章:

python - 如何从API中抓取NHL球队的名称和赔率?

arrays - 仅从字典中获取键包括 Swift 中的数组

ios - 将 segue 添加到动态创建的单元格

ios - 无法在 Swift 中使用时间延迟为 UIImage 设置动画

ruby-on-rails - 如何为现有的 Ruby on Rails 5 应用程序创建 REST API?

javascript - 我过时的 Facebook API 调用是什么?

ios - 延迟后如何触发 block ,例如 -performSelector :withObject:afterDelay:?

ios - TICoreDataSync 连接到 Web 服务器后端?

ios - 为mac平台移植iOS项目

iphone - 持久化 MPMediaItemCollection 对象的方法? (选自 iPod)