081*_*ger 2 iphone xcode objective-c storyboard ios
亲爱的Stackover社区,
差不多一个星期,我正在努力解决这个问题,即我必须对我的网络视图进行连接检查,以便我在Apple的App审核过程中幸存下来:-)
我知道我可以使用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]; }
Run Code Online (Sandbox Code Playgroud)
我的问题是我将这个代码实现到我的Webviewcontroller的.m中并将委托连接到Filesowner但是App对我来说不会那么好给我看错误信息:-)
目前我正在使用支持ARC和故事板的Xcode 4.2.1.
有人请给我一步一步的指导如何让这项工作?它可能是我的应用程序所需的最后一个代码.
提前致谢
委托方法是:
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
Run Code Online (Sandbox Code Playgroud)
注意它是" -(void)webView"而不是" -(void)webview".只需将"视图"中的"v"大写,它就会起作用.
回答你的后续问题:"现在,当我停止加载页面时,错误信息也会出现.还有其他提示吗?"
如您所见,NSError传递给您的函数.该错误包含有关失败的信息.您可以通过添加以下内容来查看该信息:( NSLog(@"Epic fail with error:%@",error);为了戏剧效果而添加了"Epic").记录该错误时,您会看到code列出的"属性".通过一些实验,您将看到此代码属性根据错误类型而更改.似乎此代码将等于-1009连接错误.所有可能的错误都在"URL加载系统错误代码"下列举.最重要的是,因为它们是在枚举中定义的,所以您不必记住其中的大部分内容.你可以使用:
-(void)webView:(UIWebView *)webview didFailLoadWithError:(NSError *)error {
if (error.code == NSURLErrorNotConnectedToInternet){
NSLog(@"You are not connected");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4648 次 |
| 最近记录: |