检查是不是有互联网连接 webView 没有出现
Posted
技术标签:
【中文标题】检查是不是有互联网连接 webView 没有出现【英文标题】:Checking if there is internet connection webView did not appear检查是否有互联网连接 webView 没有出现 【发布时间】:2014-01-16 08:30:36 【问题描述】:我想知道为什么我在断开互联网连接时没有收到提醒。当我连接时,一切都很好,但是当没有连接时,什么都没有出现,我在 Objective-c 中很新,但我认为这段代码看起来是正确的。
还是谢谢你的帮助。
- (void)viewDidLoad
webView.hidden = YES;
NSURL *url = [NSURL URLWithString:@"https://url"];
webView.scrollView.scrollEnabled = NO;
NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestURL];
if ([[webView stringByEvaluatingjavascriptFromString:@"document.readyState"] isEqualToString:@"complete"])
webView.hidden = NO;
self.canDisplayBannerAds = YES;
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Internet Connection!"
message:@"Can't connect. Please check your internet Connection"
delegate:self
cancelButtonTitle:@"Close"
otherButtonTitles:nil];
[alert show];
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
exit(0);
【问题讨论】:
如果你想检查与互联网的连接,那么你必须在你的代码中检查它。为此,您可以通过 Apple 的可达性代码 - developer.apple.com/Library/ios/samplecode/Reachability/… 事情是webView:didFailLoadWithError:
在网络运行后被触发,如果有任何错误。由于您没有互联网连接,它可能会跳过它。如上所述,Reachability
是要走的路(在你做loadRequest:
之前)。祝你好运。
我无法确定并仔细检查了这一点。还有其他问题,您的代码在我这边显示了警报视图。
我终于用上了,webView.delegate=self;它有效,但我收到警告,我希望这是正确的,从不兼容的类型'ncViewController *const __strong' 分配给'id如果您想检查与互联网的连接,则必须在您的代码中进行检查。为此,您可以通过 Apple 的 Reachbility 代码。
如果由于某种原因无法加载页面,将调用方法webView:didFailLoadWithError:
。这意味着它不是连接问题,这可能是由于服务器的一些内部错误。
【讨论】:
以上是关于检查是不是有互联网连接 webView 没有出现的主要内容,如果未能解决你的问题,请参考以下文章