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, чтобы он не обновлял весь просмотр таблицы.