在Web视图中进行连接检查的简单警报视图

亲爱的Stackover社区,

差不多一个星期,我正在苦苦挣扎,因为我必须有一个连接检查我的networking视图,所以我幸存苹果的应用程序审查过程:-)

我知道我可以使用Reachablity示例,但对于我来说,作为初学者,我会说它不聪明处理这样的代码。

我发现它有一个简单的警报和代码,如下所示:

-(void)webview:(UIWebView *)webview didFailLoadWithError:(NSError *)error { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Can't connect. Please check your internet Connection" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; } 

我的问题是,我实现了这个代码到我的Webview控制器的.m,并连接委托给Filesowner,但应用程序不会那么好,让我看到错误信息:-)

目前我正在使用支持ARC的Xcode 4.2.1和故事板。

请有人给我一步一步的指导如何得到这项工作? 它可能是我的应用程序需要的最后一个代码。

提前致谢

委托方法是:

 -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error; 

注意它是“ -(void)webView ”not“ -(void)webview ”。 只是在“视图”中的“V”大写,它会起作用。

为了回答你后面的问题:“现在当我停止加载页面时,错误信息也出现了,是否有另一个提示?

正如你可以看到一个NSError传递给你的函数。 该错误包含有关失败的信息。 你可以通过添加NSLog(@"Epic fail with error:%@",error);来看到这些信息NSLog(@"Epic fail with error:%@",error); (“史诗”添加戏剧效果)。 当您logging该错误时,您将看到列出的code “属性”。 通过一些实验,你会看到这个代码属性根据错误的types而改变。 看来这个代码将等于-1009的连接错误。 所有可能的错误在“URL加载系统错误代码”下列举 。 最重要的是,因为它们是在一个枚举中定义的,所以你不必记住那么多东西。 你可以使用:

 -(void)webView:(UIWebView *)webview didFailLoadWithError:(NSError *)error { if (error.code == NSURLErrorNotConnectedToInternet){ NSLog(@"You are not connected"); } } 

TRY … UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@“Error”message:[error localizedString] delegate:self cancelButtonTitle:@“OK”otherButtonTitles:nil];