didFailLoadWithError
iOS6不会调用此方法。
记录的错误是:
错误:错误域= NSURLErrorDomain代码= -999“操作 无法完成。 (NSURLErrorDomain错误-999。)“ 的UserInfo = 0xcd0e200 {NSErrorFailingURLKey = bsp.gov.ph /统计/ SDDS / exchrate.htm, NSErrorFailingURLStringKey = bsp.gov.ph /统计/ SDDS / exchrate.htm}
错误代码-999
显然是URL Cancelled request
,但我使用相同的iOS6代码并且工作得很好。
为什么它会显示ios7的错误?
我使用的代码是:
- (void)viewDidLoad
{
[super viewDidLoad];
isFirstTime=TRUE;
ratesArray=[[NSArray alloc]initWithObjects:@"In",@"USD",@"JPY",@"GBP",@"HKD",@"CAD",@"SGD",@"AUD",@"SAR",@"THB",@"AED",@"CNY",@"KRW",@"EUR",@"MYR",@"TWD", nil];
NSLog(@"rates.count = %d",ratesArray.count);
defaults = [NSUserDefaults standardUserDefaults];
[self loadServerData];
}
-(void)loadServerData
{
GeneralClass *gen=[GeneralClass retrieveSingleton];
euroRatesArray =[[NSMutableArray alloc]init];
[euroRatesArray addObject:@"EURO"];
usRatesArray =[[NSMutableArray alloc]init];
[usRatesArray addObject:@"US"];
phpRatesArray =[[NSMutableArray alloc]init];
[phpRatesArray addObject:@"PHP"];
self.navigationController.navigationBar.hidden=TRUE;
if ([gen checkNetworkConnection] ) {
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
//Create a URL object.
NSURL *url = [NSURL URLWithString:@"http://www.bsp.gov.ph/statistics/sdds/exchrate.htm"];
//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
//Load the request in the UIWebView.
[webPage loadRequest:requestObj];
} else {
defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:kExchanteRatesKey];
NSArray *contentArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
lblDate.text=[defaults objectForKey:kExchanteRateDate];
if (contentArray.count>0) {
for (int i=1; i<contentArray.count-1; i++) {
RateClass *rate=(RateClass *)[contentArray objectAtIndex:i];
[euroRatesArray addObject:(rate.text2.length>0 ? rate.text2:@"")];
[usRatesArray addObject:(rate.text3.length>0 ? rate.text3:@"")];
[phpRatesArray addObject:(rate.text4.length>0 ? rate.text4:@"")];
}
}
//NSLog(@"euroRatesArray = %@",euroRatesArray);
//NSLog(@"usRatesArray = %@",usRatesArray);
//NSLog(@"phpRatesArray = %@",phpRatesArray);
[activity setHidden:TRUE];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
[self hideActivityBar];
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
[self hideActivityBar];
}
-(void) hideActivityBar
{
[self htmlParse];
}
-(void)htmlParse
{
//NSString *html = [webPage stringByEvaluatingJavaScriptFromString: @"document.getElementById('exchrate_28426').innerHTML"];
//NSString *html = [webPage stringByEvaluatingJavaScriptFromString: @"document.getElementsByClassName('xl6528426')[0].innerHTML"];
NSString *html = [webPage stringByEvaluatingJavaScriptFromString:@"document.body.innerText"];
NSArray *array=[html componentsSeparatedByString:@"\n"];
NSLog(@"array.count = %d",array.count);
int checkRateIndex=1;
int index=212;
NSUserDefaults *standardUserDefaults=[NSUserDefaults standardUserDefaults];
}