Не удается подключить IBOutlet

Так что вот проблема, которую я застрял в течение 2 часов!
У меня есть контроллер представления таблицы со статическим представлением таблицы ячейки.
В одной из ячеек статического представления таблицы я разместил tableView с динамическими ячейками. Я создал пользовательский класс для этого tableViewCell. Проблема в том, что я не могу подключить TableView динамической ячейки к моему пользовательскому классу, независимо от того, что я делаю.
Кто-нибудь сталкивался с подобной проблемой? Пожалуйста, поделитесь некоторыми соображениями о том, как решить эту проблему.

Следующая строка, используемая для повторного использования моей пользовательской ячейки tableView в tableViewController, выдает ошибку, неожиданно найденную nil при развертывании необязательного значения

let cell = tableView.dequeueReusableCell(withIdentifier: "customCellTVC") as! MyCustomTableViewCell

2 ответа

  1. dequeureusablecell (withIdentifier:) может и будет возвращать ноль при построении начального пула клеток.

    Если вы не хотите проверять nil и получать ячейку все время, используйте tableView (_: cellForRowAt:)

    BTW: я могу ошибаться, но добавление таблицы внутри таблицы нахмурено 🙂

  2. Таким образом, я нашел ответ на эту проблему, и вот что я сделал

    dequeureusablecell (withIdentifier:) работает для динамических ячеек tableView. Поскольку мой основной tableView был статическим, dequeueReusableCell (withIdentifier:) возвращал ноль каждый раз, когда он работал. Поэтому вместо этого я сделал это

    let cell = super.tableView(tableView, cellForRowAt: indexPath) as? MyCustomTableViewCell
    

    Я уже сделал пользовательский интерфейс для своей пользовательской ячейки в раскадровке tableView. Использование идентификатора для tableViewCells тривиально. TableView уже знает положение ячеек.