0

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

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

    _connectionError.hidden = NO;
}

所以,我认为解决这个问题的唯一方法是让它检查一次是否有连接,仅在应用程序第一次启动时检查,并且在其余时间不再运行。我对 Objective-C 非常陌生,不知道如何做到这一点。我在想我应该把一些东西放进去viewDidLoad,或者实现某种方式让该方法只运行一次,但我不知道该怎么做。

这是返回按钮的代码:

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

2 回答 2

1

要检查连接,您可以在项目中使用可达性。然后,您可以使用答案来查看如何使用它。这将比使用 UIWebview 更高效、更清洁。

于 2013-05-29T01:02:02.370 回答
1

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

- (IBAction)backButtonTapped:(id)sender {
    [_viewWeb stopLoading];
    [_viewWeb goBack];
}
于 2013-05-29T01:57:51.033 回答