Iphone 用于在web视图中检查连接的简单警报视图

Iphone 用于在web视图中检查连接的简单警报视图,iphone,objective-c,ios,xcode,storyboard,Iphone,Objective C,Ios,Xcode,Storyboard,亲爱的Stackover社区: 近一周来,我一直在为必须进行连接检查的事实而挣扎 为了我的网络视图,所以我在苹果的应用程序审查过程中幸存了下来:-) 我知道我可以使用reachability示例,但对于初学者来说,处理这样的代码并不明智 我发现,通过一个简单的警报和如下代码,它变得更简单: -(void)webview:(UIWebView *)webview didFailLoadWithError:(NSError *)error { UIAlertView *alert = [[

亲爱的Stackover社区:

近一周来,我一直在为必须进行连接检查的事实而挣扎 为了我的网络视图,所以我在苹果的应用程序审查过程中幸存了下来:-)

我知道我可以使用reachability示例,但对于初学者来说,处理这样的代码并不明智

我发现,通过一个简单的警报和如下代码,它变得更简单:

    -(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]; }
我的问题是,我在Webviewcontroller的.m中实现了这段代码,并将委托连接到文件所有者,但如果应用程序向我显示错误消息,我会觉得不太好:-)

目前,我正在使用Xcode 4.2.1,并启用了ARC和故事板

有谁能给我一个循序渐进的指导如何得到这项工作? 这可能是我的应用程序需要的最后一个代码


提前感谢

委托方法是:

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
注意它是“
-(void)webView
”而不是“
-(void)webView
”。只要在“视图”中大写“v”,它就会工作

回答您随后的问题:“现在,当我停止加载页面时,也会出现错误消息。还有其他提示吗?”

正如您所看到的,
n错误
被传递到您的函数。该错误包含有关失败的信息。您可以通过添加以下内容查看该信息:
NSLog(@“Epic fail with error:%@”,error)(“史诗”增加了戏剧性的效果)。当您记录该错误时,您将看到一个
code
“属性”列表。通过一些实验,您将看到此代码属性会根据错误类型而改变。对于连接错误,此代码似乎等于
-1009
。所有这些都是可能的。最重要的是,因为它们是在枚举中定义的,所以您不必记住太多。您只需使用:

-(void)webView:(UIWebView *)webview didFailLoadWithError:(NSError *)error {
    if (error.code == NSURLErrorNotConnectedToInternet){
        NSLog(@"You are not connected");
    }
}
试试看。。。 UIAlertView*警报=[[UIAlertView alloc]initWithTitle:@“错误” 消息:[错误本地化字符串] ] 代表:赛尔夫 取消按钮:@“确定”
其他按钮:无]

哦,该死的,我真的很笨:-)谢谢你救了我的命@0815慢跑者别难过,我们以前都做过。如果这个答案解决了问题,请接受它。它解决了我的问题,但它是如何在生活中。您解决了一个问题,得到了数千个新问题:-)现在,当我停止加载页面时,错误消息也会出现。还有其他建议吗?@0815慢跑者编辑了回答后续问题的答案。谢谢您后续的回答和帮助。好的,我发现我得到了错误-999 NSURLERRORRCANCEL,所以我想告诉程序,当这种错误发生时,它没有显示警报。我说得对吗?所以我试着找出你给我的if代码是如何实现的。提前感谢如果我写:message:[error localizedString]会发生什么?