Каковы внутренние оптимизации для повторного использования UITableViewCells - PullRequest
0 голосов
/ 02 октября 2019

Когда iOS повторно использует ячейки табличного представления, если содержимое остается тем же, обновляется ли ячейка? То есть, если мы вызываем tableview.reloadData (), записывается ли содержимое ячейки, даже если это содержимое идентично?

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

1 Ответ

0 голосов
/ 02 октября 2019

Это зависит от того, что вы делаете внутри tableView(_:cellForRowAt:), но при условии, что вы не делаете там ничего необычного, стоимость перезагрузки ячейки, как правило, довольно скромна. Сказав это, мы не делаем reloadData, если не обязаны (например, если вам нужно перезагрузить одну строку, мы используем reloadRows(at:with:); при вставке строки мы используем insertRows(at:with:); если вам нужно перезагрузить отдельный раздел, мы используем reloadSections(_:with:) и т. Д.). Не звоните reloadData без необходимости или с какой-либо большой частотой.

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