nsurlsession для множественного запроса в цикле
Я пытался загрузить image/txt, но мне нужно делать это до тех пор, пока не появится этот URL, и загрузить этот файл image/txt, поэтому я продолжаю вызывать тот же метод снова, и когда я устанавливаю точку отладки, я вижу это ,
Если URL-адрес правильный, я не вижу очереди в отладочном навигаторе, потому что он не вызывает метод снова. я отослал библиотеку AFNetworking к тому же, но я думаю, что она работает так же, как я делаю в NSURLSession, верно?
Случай: - Я проверяю URL, если он существует или нет, поэтому, если он существует, загрузите оба URL (time.txt & image.png), в противном случае вызовите WebService(XmlParser) и продолжайте проверять URL для следующих файлов.
time.txt + image.png или же tryagain.txt
показать, что есть.
Также проверил этот вопрос AFNetworking, но это не помогло, потому что я не хочу добавлять количество операций. Я хочу загрузить файл в зависимости от того, что существует.
Потому что операции будут завершены независимо от того, будет ли это успешно или нет в AFNetworking / NSURLSession.
- (недействительно) загрузка { NSString *imageUrl = [NSString stringWithFormat:@"%@",txtNumber.text]; NSURLSessionConfiguration *sessionConfig =[NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session =[NSURLSession sessionWithConfiguration: делегат sessionConfig: собственный делегат Queue:nil]; NSURLSessionDownloadTask *getImageTask = [session downloadTaskWithURL:[NSURL URLWithString:imageUrl] завершение Handler:^(NSURL * местоположение, NSURLResponse * ответ, NSError * ошибка) { UIImage *loadedImage =[UIImage imageWithData:[местоположение]: [данные] NSD]: dispatch_async(dispatch_get_main_queue(), ^{ // делать вещи с изображением if (downloadImage) { carImgView.image = downloadImage; result = TRUE; } else { result = FALSE; [self tryagain]; } }); }]; [getImageTask резюме]; }
- (недействительными) 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 Делегат: самостоятельно delegateQueue: ноль]; // 1 getTryAgainTask = [tryAgainSession downloadTaskWithURL:aImgUrl завершение Handler:^(NSURL * местоположение, NSURLResponse * ответ, Ошибка NSError *) { // 2 UIImage *loadedImage =[UIImage imageWithData:[NSData dataWithContentsOfURL:location]]; //3 dispatch_async(dispatch_get_main_queue(), ^{ // делать вещи с изображением if (downloadImage) { [policyImgWebView loadData:[NSData dataWithContentsOfURL:location] MIMEType:nil textEncodingName:nil baseURL:nil]; NSLog(@"ДА"); } еще { NSLog(@"NO"); [self executeInBackground]; } }); }]; // 4 [getTryAgainTask резюме]; }
Пожалуйста, исправьте меня, если я делаю неправильно, и помогите мне решить эту проблему.