AFNetworking setImageWithURL - 获取返回图像的高度?

时间:2012-09-11 20:17:31

标签: iphone ios afnetworking heightforrowatindexpath

我希望在自定义的tableviewcell中设置图像,并在heightForRowAtIndexPath方法中使用返回图像的高度。

是否有将此返回的数据导入heightForRowAtIndexPath方法? 目前我正在使用本地字典并按以下方式设置:

   NSURLRequest* urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:recent.show.showImage] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];


   [cell.imageView setImageWithURLRequest:urlRequest placeholderImage:[UIImage imageNamed:@"icon"] success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {

       NSNumber *imageHeight = [[NSNumber alloc] initWithFloat:image.size.height];
       NSString *indexString = [NSString stringWithFormat:@"%d", indexPath.row];
       [self.returnedImages setValue:imageHeight forKey:indexString];
       [imageHeight release];

   } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {

   }];

任何关于更有效方法的指示都非常赞赏。

干杯 NIK

1 个答案:

答案 0 :(得分:1)

您目前在NSDictionary中执行此操作的方式是合适的。虽然为了确保尽快更新,但您可以将[self.tableView reloadData]添加到成功块中,从那时起它将立即使用更新的数据刷新您的tableview。更好的是你可以使用reloadRowsAtIndexPaths:withRowAnimation:并将其传递给新下载的UIImage的索引路径,这样它就不会刷新整个tableview。

Docs