2015-06-21 4 views
0

Представьте, что у меня есть 200 строк в таблицеView, что произойдет, если я вызову повторно перезагрузку - это означает, что я вызвал перезагрузку в моем представлении таблицы, при перезагрузке 100-й строки я снова вызываю перезагрузку, что происходит сейчас?Что происходит, когда вы дважды перезаписываете перезагрузку UItableview

+0

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

+0

Представьте, что у меня есть вид с тяжелым столом, в этом состоянии есть двадцать видимых ячеек, в то время как 10-я ячейка перезагружается, я снова вызываю перезагрузку, так что оставшиеся 10 будут перезагружены или весь набор из 20 будет? –

+0

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

ответ

1

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

И ваш вопрос также подразумевает непонимание того, как загружается табличный вид. Когда вы вызываете reloadData, все 200 строк не будут «перезагружены». В представлении таблицы будет переопределяться число и высота всех строк, а затем она будет фактически перезагружать видимые строки. Поэтому не стоит беспокоиться о «перезагрузке 100-й строки».

+0

вопрос был больше для понимания теории. Получил ответ. благодаря –