【问题标题】:Call "didFailLoadWithError" when no internet connection?没有互联网连接时调用“didFailLoadWithError”?
【发布时间】:2016-07-08 11:00:53
【问题描述】:

我已经用谷歌搜索了,但没有找到明确的答案。何时调用“didFailLoadWithError”?我想用它在没有互联网连接时显示警报。这样做对吗?

适用于我使用 Xcode 和 Swift 制作的 iOS 应用。

【问题讨论】:

  • 你非常正确,

标签: ios swift error-handling didfailwitherror


【解决方案1】:

didFailLoadWithError 方法将在以下情况下被调用:

  1. 如果 URL 重定向到另一个 URL,我们将收到一个 NSURLErrorCancelled 错误。
  2. 如果页面包含指向 AppStore 的链接,点击该链接将返回错误(但 AppStore 链接仍将由 iOS)。
  3. 如果 URL 是指向视频/音频的直接链接,即使视频/音频可以播放,我们也会收到错误消息(“插件已处理负载”)。

所以检查网络的最佳解决方案是使用苹果Reachability代码。

更新:

检查互联网连接(Wi-Fi 和蜂窝网络)的最佳解决方案是:[Reachability Swift 2][2]

【讨论】:

  • 感谢您的回答。 didFailLoadWithError 在单击超链接时似乎也被调用,同时仍在加载另一个链接。所以,这不是我要锁定的。可达性代码似乎是正确的。但这仅适用于Objective-C。没有 Swift 版本吗?
  • 要快速尝试这个brianjcoleman.com/…
  • 谢谢。这是惊人的。它真的很有效,而且很简单。我在“webViewDidStartLoad”中添加了代码。这意味着它会在点击超链接时始终检查互联网连接。你觉得合理吗?
  • 这不适用于蜂窝/移动数据。这是 Wi-Fi/Cellular 的一个工作示例:filedropper.com/reachabilityswift2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
  • 2020-03-08
  • 1970-01-01
相关资源
最近更新 更多