我一直在试图下载图像/ TXT但我需要直到URL存在和下载图像/ txt文件做到这一点,所以我一直再次调用同样的方法与当我设置的调试点我看这 。
如果URL是正确的,比我看不出在调试导航任何队列,因为它不会被再次调用方法。 我提到AFNetworking库相同的,但我想它`在相同的方式工作,我在NSURLSession正在做,对不对?
案例: - 我检查网址是否存在与否,所以如果它单曲存在比加载两个URL(TIME.TXT&image.png),否则调用WebService的(XmlParser的)保持支票网址下列文件。
time.txt+image.png or tryagain.txt
演出为准存在。
还检查了该AFNetworking问题 ,但它并没有帮助,因为我不想增加操作次数。 我想加载哪个文件存在。
由于操作将完成不管是成功还是在AFNetworking / NSURLSession失败。
-(void)downloading { NSString *imageUrl = [NSString stringWithFormat:@"%@",txtNumber.text]; NSURLSessionConfiguration *sessionConfig =[NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session =[NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil]; NSURLSessionDownloadTask *getImageTask = [session downloadTaskWithURL:[NSURL URLWithString:imageUrl] completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) { UIImage *downloadedImage =[UIImage imageWithData:[NSData dataWithContentsOfURL:location]]; dispatch_async(dispatch_get_main_queue(), ^{ // do stuff with image if (downloadedImage) { carImgView.image = downloadedImage; result = TRUE; } else { result = FALSE; [self tryagain]; } }); }]; [getImageTask resume]; }
-(void)tryagain { NSString *strImg = [[NSString stringWithFormat:@"%@",gblPolicyNo] stringByAppendingString:FilePolStatus]; NSString *apiImage = [NSString stringWithFormat:@"http://moviepoint.info/%@/%@",FolderPolStatus,strImg]; NSURL *aImgUrl = [NSURL URLWithString:apiImage]; // 2 NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; // 3 tryAgainSession =[NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil]; // 1 getTryAgainTask = [tryAgainSession downloadTaskWithURL:aImgUrl completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) { // 2 UIImage *downloadedImage =[UIImage imageWithData:[NSData dataWithContentsOfURL:location]]; //3 dispatch_async(dispatch_get_main_queue(), ^{ // do stuff with image if (downloadedImage) { [policyImgWebView loadData:[NSData dataWithContentsOfURL:location] MIMEType:nil textEncodingName:nil baseURL:nil]; NSLog(@"YES"); } else { NSLog(@"NO"); [self performInBackground]; } }); }]; // 4 [getTryAgainTask resume]; }
请纠正我,如果我做错了&帮我解决这个问题。