仅为ios7调用didFailLoadWithError

时间:2014-01-06 11:33:21

标签: ios cocoa-touch ios6 uiwebview ios7

仅为iOS7调用

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];
}

0 个答案:

没有答案