尝试将代码移植到 AFNetworking 2.0

Trying to port code to AFNetworking 2.0

我正在尝试将以下代码移植到 AFNetworking 2.0

//load the image
  API* api = [API sharedInstance];
  int IdPhoto = [[data objectForKey:@"IdPhoto"] intValue];
  NSURL* imageURL = [api urlForImageWithId:[NSNumber numberWithInt: IdPhoto] isThumb:YES];
  AFImageRequestOperation* imageOperation = [AFImageRequestOperation imageRequestOperationWithRequest: [NSURLRequest requestWithURL:imageURL] success:^(UIImage *image) {
            
   //create an image view, add it to the view
   UIImageView* thumbView = [[UIImageView alloc] initWithImage: image];
            thumbView.frame = CGRectMake(0,0,90,90);
            thumbView.contentMode = UIViewContentModeScaleAspectFit;
   [self insertSubview: thumbView belowSubview: caption];
  }];
  NSOperationQueue* queue = [[NSOperationQueue alloc] init];
  [queue addOperation:imageOperation];

这是我的尝试。不知道对不对,请告诉我对不对。

API* api = [API sharedInstance];
         int IdPhoto = [[data objectForKey:@"IdPhoto"] intValue];
         NSURL* imageURL = [api urlForImageWithId:[NSNumber numberWithInt: IdPhoto] isThumb:YES];
        
        
        AFHTTPRequestOperation* imageOperation = [[AFHTTPRequestOperation alloc] initWithRequest:[NSURLRequest requestWithURL:imageURL]];
        imageOperation.responseSerializer = [AFImageResponseSerializer serializer];
        
        
        [imageOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
            UIImage *image;
            UIImageView* thumbView = [[UIImageView alloc] initWithImage: image];
            thumbView.frame = CGRectMake(0,0,90,90);
            thumbView.contentMode = UIViewContentModeScaleAspectFit;
            [self insertSubview: thumbView belowSubview: caption];
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            //failure
            NSLog(@"Failed");
        }];
        
        NSOperationQueue* queue = [[NSOperationQueue alloc] init];
        [queue addOperation:imageOperation];
        

我认为这是不正确的,因为图像加载不正确。

谢谢

responseObject 应该是您的图像对象,所以只需使用这一行:

UIImage* image = (UIImage*) responseObject;