我一直在尝试下载图像/txt,但我需要这样做,直到该 url 存在并下载该图像/txt 文件,所以我继续再次调用相同的方法,当我设置调试点时,我看到了这个
。
如果 url 正确,我在调试导航器中看不到任何队列,因为它不再调用方法。我将 AFNetworking 库引用到相同的库,但我想它的工作方式与我在 NSURLSession 中的工作方式相同,对吧?
案例:-我检查 url 是否存在,所以如果它存在,则加载两个 url(time.txt 和 image.png),否则调用 WebService(XmlParser)并继续检查以下文件的 url。
时间.txt+图片.png 或者 再试一次.txt
显示存在者。
还检查了这个AFNetworking Question但它没有帮助,因为我不想添加操作数量。我想加载任何存在的文件。
因为在AFNetworking/NSURLSession中无论是成功还是失败都会完成操作。
-(无效)下载
{
NSString *imageUrl = [NSString stringWithFormat:@"%@",txtNumber.text];
NSURLSessionConfiguration *sessionConfig =[NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session =[NSURLSession sessionWithConfiguration:sessionConfig
代表:自己
委托队列:无];
NSURLSessionDownloadTask *getImageTask = [会话 downloadTaskWithURL:[NSURL URLWithString:imageUrl]
完成处理程序:^(NSURL *位置,
NSURLResponse *响应,
NSError *错误)
{
UIImage *downloadedImage =[UIImage imageWithData:[NSData dataWithContentsOfURL:location]];
dispatch_async(dispatch_get_main_queue(), ^{
// 用图像做事
如果(下载图像)
{
carImgView.image = 下载图像;
结果=真;
}
别的
{
结果=假;
[自我再试一次];
}
});
}];
[getImageTask 恢复];
}
-(无效)再试一次
{
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
代表:自己
委托队列:无];
// 1
getTryAgainTask = [tryAgainSession downloadTaskWithURL:aImgUrl
完成处理程序:^(NSURL *位置,
NSURLResponse *响应,
NSError *错误)
{
// 2
UIImage *downloadedImage =[UIImage imageWithData:[NSData dataWithContentsOfURL:location]];
//3
dispatch_async(dispatch_get_main_queue(), ^{
// 用图像做事
如果(下载图像)
{
[policyImgWebView loadData:[NSData dataWithContentsOfURL:location] MIMEType:nil textEncodingName:nil baseURL:nil];
NSLog(@"是");
}
别的
{
NSLog(@"否");
[自我执行背景];
}
});
}];
// 4
[getTryAgainTask 恢复];
}
如果我做错了,请纠正我并帮助我解决这个问题。