перезагрузить табличное представление в приложении для iphone? - PullRequest
2 голосов
/ 25 марта 2009

У меня есть контроллер табличного представления, который делает http-запрос, который возвращает xml. Я анализирую xml и отображаю его в UITableView. При первом вызове http все работает как положено. Второй раз я вызываю запрос http: я получаю xml, как и ожидалось, но таблица не обновляется. Я вызываю метод reloadData TableView каждые 2 секунды, так что это не проблема, какие-либо идеи ????

Ответы [ 3 ]

7 голосов
/ 25 марта 2009

Установите точку останова где-нибудь после того, как вы обновили XML и проверьте, соответствуют ли данные, которые вы предоставляете, представлению таблицы. Если нет, просмотрите стек вызовов, чтобы увидеть, где вы что-то упустили Кроме того, установка таймера для перезагрузки табличного представления действительно плохая практика. Просто перезагрузите его, когда вам нужно, после того, как ваши данные изменились.

2 голосов
/ 26 марта 2009

эй, вы используете темы? если да, то вам нужно убедиться, что вы перезагружаете данные табличного представления в главном потоке - в противном случае табличное представление не обновляется, пока вы не прокрутите

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

если вы не используете потоки, убедитесь, что вы используете их, чтобы ваш основной поток и пользовательский интерфейс никогда не блокировались при запуске http-запросов, потому что http-запросы занимают некоторое время.

0 голосов
/ 25 марта 2009

Почти так же, как ответ Марка, но немного другое действие - установите точку останова в cellForIndexPath, где вы загружаете данные в ячейки и смотрите (опять же, как упоминал Марк), если ваши новые данные есть.

Если таблица не перезагружается, то ваши данные не попадают туда, где таблица может видеть новые вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...