Итак, это моя проблема: У меня есть UITableView с пользовательским UITableViewCells. Каждая из ячеек имеет один UIImageView, который загружает удаленное изображение с использованием асинхронной загрузки изображения.Проблема UITableView при загрузке асинхронного изображения
Это ПОЛНОСТЬЮ отлично, но у меня есть эта странная проблема.
Когда изображение загружено, я вижу 5 или 6 первых ячеек без прокрутки (высота дисплея iPhone).
Проблема заключается в том, что изображение каждой ячейки не появляется в данный момент. Прокручивая таблицу на дно, ячейки # 7 ~ заканчиваются очень хорошо.
ФАКТИЧЕСКИЙ ФАКТ: когда я прокручиваю назад кверху, теперь 5 или 6 ячеек загружаются идеально.
Моя первая мысль была: при загрузке представления метод cellForRowAtIndexPath автоматически не вызывал метод loadimage для первых ячеек сразу после взаимодействия с пользователем.
Но использование NSLog (шаг за шагом), чтобы найти, где проблема, дело в том:
- cellForRowAtIndexPath вызывает метод LoadImage
- внутри метода LoadImage, то NSURLConnection создается
- NSURLConnection didReceiveData-х метод не называется
Таким образом, метод loadimage вызывается. Но не получать данные.
Прокрутка вниз, а затем возврат к верхним ячейкам, все в порядке. Слово WEIRD.