подскажите пожалуйста в чем может быть проблема? все работало хорошо
1) Увидел, проверка наличия вообще данных, ок, тогда guard !tableViewItems.isEmpty else { return }
2) Я бы использовал свитч (не факт что эффективно, но) для опредления классов и настройки ячейки для этого класса (если много кода то через передачу ячейки в функцию настройки)