ios - 浏览速度过快出现连接错误

标签 ios objective-c uiwebview

在我编写的应用程序中,我检查设备是否有互联网连接。我在屏幕上放了一个连接错误图像,除非设备未连接,否则将其隐藏。但是有一个奇怪的问题。我为 UIWebView 实现了一个简单的后退按钮,但是当我按得太快时,会出现连接错误。这是我用来检查连接并决定是否显示错误的代码:

-(void)webView:(UIWebView *)myWebView didFailLoadWithError:(NSError *)error {

    _connectionError.hidden = NO;
}

因此,我认为解决此问题的唯一方法是让它检查一次是否存在连接,仅在应用程序首次启动时检查一次,并且在其余时间不再运行。我对 Objective-C 非常陌生,不知道该怎么做。我在想我应该在 viewDidLoad 中添加一些东西,或者实现某种方式让该方法只运行一次,但我不知道该怎么做。

这是后退按钮的代码:

- (IBAction)backButtonTapped:(id)sender {
    [_viewWeb goBack];
}

最佳答案

在 goBack 方法之前调用 webView 上的 stopLoading 方法,以确保没有多个请求会导致连接错误:

- (IBAction)backButtonTapped:(id)sender {
    [_viewWeb stopLoading];
    [_viewWeb goBack];
}

关于ios - 浏览速度过快出现连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16803804/

相关文章:

ios - 交易在 SKPaymentQueue 上时,每次打开时都要求输入密码

ios - 如何根据其底部的webview设置Viewcontroller动态高度?

android - ScrollView React Native 上的多个 onScroll 事件?

ios - Xcode Core Data 替代通用类型的无逆关系

objective-c - 为什么释放后要设置为nil?

ios - 尝试调整大小和图像时实例化类方法问题

ios - 使用 Xcode 将预加载的 sqlite 数据库添加到 iOS 应用程序后找不到表

ios - 如何为我的应用程序创建昼/夜模式

ios - 我无法停止在 YTPlayerView ios 中播放的视频

ios - UIWebView 中的离线 html5