Каждый уникальный идентификатор повторного использования имеет свою собственную уникальную очередь повторного использования? - PullRequest
0 голосов
/ 25 декабря 2018

Ответ

Да.Уникальный reuseIdentifier соответствует уникальной очереди повторного использования.

Согласно документации Apple для reuseIdentifier UITableViewCell :

Объект UITableView поддерживает очередь (или список) текущих многократно используемых ячеек, каждая со своим собственным идентификатором повторного использования и делает их доступными для делегата в dequeueReusableCellWithIdentifier: метод

Был предоставлен ответпользователем Matt и источник был косвенно связан в ответе SOF .Последний был опубликован пользователем prekshya basnet .


Разработка вопроса

Соответствует ли каждый reuseIdentifier уникальной очереди повторного использования?

Другими словами: можно ли вызвать register(_:forCellReuseIdentifier:) с его реализациями для регистрации перьев или для регистрации классов с различными комбинациями параметров в одном и том же UITableViewпример?зная, что указанные комбинации параметров удовлетворяют следующему:

  • идентичное nib или cellClass значение в каждом вызове,в зависимости от используемой реализации для указанного UITableViewController.
  • Уникальный identifier для каждого вызова

Триггер вопроса

Согласно Руководство по программированию Apple: более пристальный взгляд на ячейки табличного представления в Ячейки и производительность табличного представления В самом конце руководства рекомендуется придерживаться следующих рекомендаций:

  1. Повторное использование ячеек.
  2. Избегать ретрансляции контента.
  3. Использовать непрозрачные подпредставления.
  • Для того, чтобы удовлетворить вышеупомянутые пункты руководства1. и 2.
  • Для удовлетворения моего требования, чтобы иметь две ячейки одного типа, но они были расположены прогамматически по-разному, даже если они являются одним и тем же подклассом XIB и UITableView.

Затем мне нужно использовать две отдельные строки reuseIdentifier для одного и того же nib объекта.

Я уже могу различать два nib объекта, которые расположеныиначе, в UITableViewDelegate или UITableViewDataSource с использованием контрольного флага / enum в объекте, находящемся в моей коллекции dataSource backstore.Этот объект, конечно, соответствует indexPath, указанному в delegate / dataSource.

Предыдущая работа вопроса

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

1 Ответ

0 голосов
/ 25 декабря 2018

Соответствует ли каждый reuseIdentifier уникальной очереди повторного использования?

Да.Именно это и есть идентификатор повторного использования: это имя одной ячейки, доступной для повторного использования.

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