Задать вопрос
@snitron
Учуcь программировать на Android, IOS и Unity.

Как передать данные в кастомную ячейку UITableViewCell перед тем, как она будет построена?

Мне нужно передать данные в ячейку при её создании в методе tableView.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCell(withIdentifier: identifier, for: indexPath) as? LessonTableViewCell
       //  Внутри класса LessonTableViewCell ячейка заполняет саму себя переданными ей данными
      /*код*/
}

Как это можно сделать?
  • Вопрос задан
  • 382 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
doublench21
@doublench21 Куратор тега Swift
Пример из моего проекта. (Код не привожу текстом, ужасный редактор.)

В делегате:
5c7bf8b3c0d26725364424.png
internal override func collectionView(
  _ collectionView: UICollectionView,
    cellForItemAt indexPath: IndexPath
  ) -> UICollectionViewCell
  {
    let cell = collectionView.dequeueReusableCell(
      withReuseIdentifier: CategoriesCollectionViewCell.reuseIdentifier,
      for: indexPath
    ) as! CategoriesCollectionViewCell

    let randomIndex = indexPath.item % CategoriesPlaceholder.images.count

    cell.configure(
      withImage: UIImage(named: CategoriesPlaceholder.images[randomIndex])!,
      andTitle: CategoriesPlaceholder.titles[randomIndex]
    )

    return cell
  }

Внутри ячейки:
5c7bf8c1617ce913362365.png
internal final class CategoriesCollectionViewCell: UICollectionViewCell {

 // =====================================
  // MARK: - Configure
  // =====================================

  internal func configure(withImage image: UIImage?, andTitle title: String) {
    illustrationCircle.image = image
    self.title.text = title
  }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы