Прежде всего, не guard
повторное использование ячеек.Код не должен падать.Если это так, то обнаруживается ошибка проектирования.И используйте API, который возвращает необязательную ячейку.
let cell = tableView.dequeueReusableCell(withIdentifier: "messageCell", for: indexPath) as! feedMessagesCell
Для отправки данных другому контроллеру представления создайте переход в Интерфейсном Разработчике, подключив ячейку табличного представления к контроллеру назначения..
В prepare(for segue
отправителем является ячейка.Измените PushFeedDetail
на реальный идентификатор и MyDestinationController
на реальный класс.Создайте свойство message
в целевом контроллере.Получите путь индекса из ячейки и передайте элемент в массив источника данных.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "PushFeedDetail" {
let selectedIndexPath = tableView.indexPath(for: sender as! feedMessagesCell)!
let destinationController = segue.destination as! MyDestinationController
let message = messageArray[selectedIndexPath.row]
destinationController.message = message
}
}