Pan*_*kar 1 if-statement nserror ios
我正在使用WKWebViewiOS 8设备,并想检查是否发生错误NSURLErrorDomain然后我想做一些更改,直到现在,我已经添加了下面的代码,但不知何故编译器进入其他部分,现在确定原因.
- (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error
{
if ( [error domain] == NSURLErrorDomain )
{
//code here
}
else
{
//But compiler always comes here
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是'NSURLErrorDomain',但编译器没有执行if循环并进入其他部分.谁能告诉我它为什么会这样?
该domain物业是一个NSString,所以你需要给它这样的比较:
if ([[error domain] isEqualToString:NSURLErrorDomain]) {
Run Code Online (Sandbox Code Playgroud)
要了解Apple的开发人员如何处理此问题,请检查下面的代码,该代码是从错误处理编程指南中复制的,清单2-3:
NSString *errorMsg;
if ([[error domain] isEqualToString:NSURLErrorDomain]) {
switch ([error code]) {
case NSURLErrorCannotFindHost:
errorMsg = NSLocalizedString(@"Cannot find specified host. Retype URL.", nil);
break;
case NSURLErrorCannotConnectToHost:
errorMsg = NSLocalizedString(@"Cannot connect to specified host. Server may be down.", nil);
break;
case NSURLErrorNotConnectedToInternet:
errorMsg = NSLocalizedString(@"Cannot connect to the internet. Service may not be available.", nil);
break;
default:
errorMsg = [error localizedDescription];
break;
}
} else {
errorMsg = [error localizedDescription];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2521 次 |
| 最近记录: |