2015-09-17 2 views
-1

Я воспользовался приведенным ниже кодом для загрузки изображения с json-отзывом и отображения изображения в окне UICollectionView. Но numberofItems в разделе count возвращает 0. Это означает, что imageArray2.count возвращает 0. Это не работает. Может ли кто-нибудь сказать мне, где я делаю неправильно в приведенном ниже коде? imageArray2 - мой NSArray.Как загрузить изображение из ответа JSON?

// JSON РЕАКЦИЯ

claimImages =  (
       { 
      "image_url" = "http://zapponomics.net/claimservice/parcelimage/555506520image0.jpg"; 
      "img_for" = "Front view of parcel"; 
      "pro_number" = Rita; 
     } 
    ); 
    images =  (
       { 
      "image_url" = "http://zapponomics.net/claimservice/parcelimage/384270647image0.jpg"; 
      "img_for" = "Front view of parcel"; 
      "pro_number" = Rita; 
     } 
    ); 
NSMutableDictionary *imageDict2 = [jsonDict valueForKey:@"claimImages"]; 
       NSLog(@"Image Dictionary :- %@",imageDict2); 
       imageArray2 = [imageDict2 valueForKey:@"image_url"]; 
       NSLog(@"My Array Image :- %@",imageArray2); 

    -(void)loadImageFromURL2:(NSURL *) url callback:(void(^)(UIImage *image1))callback 
    { 
     dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); 
     dispatch_async(queue, ^{ 
      NSData *imageData1 = [NSData dataWithContentsOfURL:url]; 
      dispatch_async(dispatch_get_main_queue(),^{ 
       UIImage *image1 = [UIImage imageWithData:imageData1]; 
       callback(image1); 
      }); 
     }); 
    } 
    if (collectionView.tag == 601) 
     { 
      cell = [afterParcelCollectionView dequeueReusableCellWithReuseIdentifier:@"cellIdentifier" forIndexPath:indexPath]; 
      UIImageView *myImageView2 = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 50, 80)]; 
      myImageView2.tag = 102; 
      [cell.contentView addSubview:myImageView2]; 

      NSString *myImage1= [imageArray2 objectAtIndex:indexPath.row]; 
      [self loadImageFromURL2:[NSURL URLWithString:[myImage1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ]] callback:^(UIImage *image1){ 

       myImageView2.image =image1; 
      }]; 
     } 

       return cell; 
+0

пожалуйста, напишите ваш 'jsonDict' здесь – Nishant

+0

claimImages = ( { "IMAGE_URL"=«HTTP : //zapponomics.net/claimservice/parcelimage/555506520image0.jpg "; " img_for "=" Вид спереди посылки "; " pro_number "= Rita; } ); –

+0

'[jsonDict valueForKey: @" ClaimImages "]' - массив, но вы добавляете его в 'NSMutableDictionary'. Кроме того, добавьте свой json в вопрос (отредактируйте его) в разборчивом форматировании. – Nishant

ответ

0

Попробуйте следующий код и заменить код:

NSArray *claimImagesArray = [jsonDict valueForKey:@"claimImages"]; 
NSLog(@"%@", claimImagesArray); 


NSString *imagePath = [[claimImagesArray objectAtIndex:0] valueForKey:@"image_url"]; 
NSLog(@"My Image :- %@", imagePath); 
+0

ЭТОТ КОД автоматически генерирует два изображения. –

Смежные вопросы