Как работает UITableView dequeueReusableCell? - PullRequest
0 голосов
/ 24 марта 2019

Ну ... я все еще не совсем понимаю концепцию и то, как работает UITableView или UITableViewCell.Мне действительно нужно четкое понимание этого, чтобы справиться с этим.

Вот несколько вопросов, которые меня действительно долго беспокоили.

1) Когда запускается приложение, созданное с помощью UITableView, все ячейки, заполненные информацией, уже отображаются на экране., Являются ли эти ячейки уже удаленными из очереди? Это когда вызывается dequeueReusableCell?Другими словами, называются ли эти ячейки dequeueReusableCells?

2) Если нет, то как работает UITableView?Создает ли он новые ячейки при первом запуске приложения?Если экран телефона, скажем, может отображать 3 ячейки из-за размера экрана, означает ли это, что UItableView уже создал 3 ячейки для отображения на экране?

3) Если первый вопросне правильно, как и когда вызывается метод dequeueReusableCell?Это когда ячейка перерабатывается и появляется в нижней части экрана?

Я смотрел видео, и инструктор сказал, что ячейки, которые уже отображаются на экране телефона, являются dequeueReusableCells.И я действительно хочу знать, как и когда вызывается метод dequeueReusableCell?

Заранее спасибо.

1 Ответ

0 голосов
/ 24 марта 2019

как работает UITableView? Создаются ли новые ячейки при первом запуске приложения?

Да! Вот идея. Допустим, ваше табличное представление имеет 2000 строк. Но только 12 ячеек видны одновременно на экране. Итак, за все время существования приложения необходимо создать только 12 ячеек (или, может быть, 13 или 14)!

И я действительно хочу знать, как и когда вызывается метод dequeueReusableCell

Вы называете это в начале tableView(_:cellForRowAt:). Этот метод, в свою очередь, вызывается средой выполнения всякий раз, когда требуется ячейка, и вы получаете либо новую ячейку (начальные 12, 13 или 14 в моем примере выше), либо повторно используемую ячейку (все строки будут отображаться после этого), и Вы возвращаете это для показа, и поэтому с миром все в порядке.

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