2010-06-18 3 views
0

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

Сколько многоразовых ячеек должен создавать источник данных? До сих пор во всех образцах я видел только один. Было бы даже нужно больше?

ответ

1

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

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

Итак, если у вас есть CellTypeA и CellTypeB (как наследуемые от UITableViewCell, так и настройки по-разному), используйте разные клавиши для обоих типов.

+0

Различные средства различных подклассов UITableViewCell или некоторые другие атрибуты ячейки? Что делает ячейки «разными»? – Pablo

+0

Различные подклассы делают другой ключ обязательным - вы все равно не можете настроить ячейку неправильного типа. Если ваша конфигурирующая часть (заполнение ячейки данными и применение к ней атрибутов) является тяжеловесной и различной в пределах одного типа ячейки, вы можете подумать о том, чтобы использовать разные ключи, а также для предотвращения повторной настройки этой конфигурации. Но в целом, один ключ на тип ячейки является хорошей отправной точкой. – Eiko

1

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

+0

Я понимаю, что нужно создать только 1. Но даже если я использую разные подклассифицированные ячейки для одного и того же источника данных и стили также разные, то должен ли я использовать один и тот же идентификатор повторного использования или иметь другой идентификатор для каждого подкласса/стиля и выбирать, какой идентификатор нужно удалить? – Pablo

+0

Идентификатор сообщает только TableView, где следует удалить ячейку, когда она закончит с ней. Полностью зависит от вас, какие критерии вы хотите использовать для группировки ваших ячеек с идентификаторами. Как упоминала Эйко, обычной практикой является использование одного идентификатора для каждого подкласса. –

Смежные вопросы