У меня есть UITableViewCell, который я написал в отдельном файле .xib, для использования в паре разных UITableViews.Все TableViews наследуются от класса, который регистрирует UINib для использования с идентификатором «SpecialCell».
Для всех, кроме одного из TableViews, ячейка отключается и работает нормально.Однако для одного из них я получаю эту ошибку:
*** Ошибка подтверждения в - [app.MyTableView _dequeueReusableViewOfType: withIdentifier:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore/UIKit-3899.13.13/UITableView.m:8546
*** Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «для идентификатора (SpecialCell) зарегистрирован неверный перо - перо должно содержать ровно один верхний уровеньобъект, который должен быть экземпляром UITableViewCell '
Я удаляю ячейку с тем же кодом, что и в других TableView, и не могу понять, почему эта проблема возникает только в одном из ViewControllers.
Я видел несколько ответов, относящихся к одному и тому же сообщению, но ни один из них здесь не подходит.Не существует никаких посторонних объектов верхнего уровня (и поскольку ячейка загружается отлично в других ViewControllers, тогда я не думаю, что это может быть основной проблемой).
Это код, который я использую(то же самое в каждом ViewController) для удаления очереди из ячейки.
guard let cell = tableView.dequeueReusableCell(withIdentifier: "SpecialCell", for: indexPath) as? SpecialCell else {
print("can't load SpecialCell")
return UITableViewCell()
}
return cell
(для чего это стоит, оператор печати в этом предложении else не запускается).
Если у кого-либо есть какой-либоподсказки о том, в чем может быть проблема, я бы очень признателен!
Редактировать: Изображение пера SpecialCell по запросу