iPhone: UITableView проблема с синхронизацией перезагрузки данных - PullRequest
1 голос
/ 13 апреля 2011

Я столкнулся с общей проблемой перезагрузки данных TableView. Я прочитал много вопросов на ту же тему, но проблема никогда не была такой же, как у меня ...

У меня есть приложение на основе навигации. В методе RootViewController viewDidLoad я делаю запрос, чтобы получить данные JSON (статьи). После завершения загрузки соединения я создаю собственные объекты Article для каждой записи. Класс Article имеет метод initWithDictionnary, который инициализирует атрибуты объекта и, что наиболее важно, создает запрос на загрузку изображения. Когда соединение завершило загрузку, я установил атрибут изображения объекта Article. Цель состоит в том, чтобы инициализировать свойство cell.imageView.image с загруженным изображением. В этот момент вы, возможно, догадались, в чем проблема. Изображения загружаются после визуализации изображения ячейки, поэтому оно остается пустым до тех пор, пока ячейка не будет перезагружена (если она выходит из экрана и затем возвращается, например). Я думаю, что я должен вызвать reloadData в определенное время, но я не знаю когда. В идеале я бы назвал это, когда все клетки загружены, но это не представляется возможным. Я перепробовал кучу сумасшедших вещей, таких как ожидание загрузки ячейки и попытка перезагрузить предыдущую, но это не сработало. Читая здесь вопросы и ответы, я узнал об образце кода Apple LazyTableImage, но я не понимаю всего этого, поэтому я не уверен, что должен / мог бы его использовать.

Пожалуйста, спросите меня, если вам нужно больше деталей.

Заранее спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Вы должны загрузить изображения асинхронно.Помните, что данные вашей таблицы должны содержать поле для каждой строки, указывающее, было ли загружено изображение, чтобы (если это правда) вы могли пропустить загрузку и просто отобразить кэшированные изображения.

Сначала посмотрите на этот вопрос: Загрузка изображений async

0 голосов
/ 13 апреля 2011

Существует около 10 хороших учебных пособий по отложенной загрузке изображений UITableView. Выберите один.

Вы овладеете этим, просмотрев учебники через некоторое время. Придерживайтесь этого, это важная концепция не только для этого проекта, но и для остальной части вашей карьеры программиста.

Ленивая загрузка изображений UITableView Учебники, которые сделают вас умнее!

...