Почему мне нужно указать reuseIdentifier в UITableViewCell? - PullRequest
1 голос
/ 10 февраля 2020

Я знаю, как настроить пользовательские UITableViews с пользовательскими ячейками, но я не понимаю, почему мне нужно установить класс И reuseIdentifier. И из-за этого это часто приводит к сценарию ios, где я просто называю идентификатор повторного использования тем же именем, что и класс ячейки UITableview.

В качестве практического примера:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

  let cell = tableView.dequeueReusableCell(withIdentifier: "HeaderCell", for: indexPath) as? HeaderCell

  return cell!
}

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

1 Ответ

2 голосов
/ 10 февраля 2020

Конечно. Совершенно законно иметь UITableViewCell, который является просто UITableViewCell (не подклассом). И вы можете настроить их по-разному, и все они будут в одной таблице. Или ваш HeaderCell может быть «MyCustomStyleCell», который вы используете в разных местах, и просто настраиваете его для заголовка, а не создаете подкласс HeaderCell. Нет правила, согласно которому вы должны создавать подкласс для каждого типа ячеек (это даже не поощряется UIKit).

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