AFNetworking setImageWithURL - получить высоту возвращаемого изображения?

Я пытаюсь установить изображение в пользовательской ячейке таблицы и использовать высоту возвращаемого изображения в методе 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) {

   }];

Любые указатели на более эффективный подход с благодарностью.

Ура ник

1 ответ

То, как вы сейчас делаете это в NSDictionary, уместно. Хотя, чтобы он обновлялся как можно быстрее, вы можете добавить [self.tableView reloadData] к вашему блоку успеха, с тех пор он немедленно обновит ваш просмотр таблицы с обновленными данными. Еще лучше вы могли бы использовать reloadRowsAtIndexPaths:withRowAnimation: и передайте ему только путь индекса недавно загруженного UIImage, чтобы он не обновлял весь просмотр таблицы.

Документы

Другие вопросы по тегам