У меня есть два контроллера представления, делегат и массив строк
У меня есть функция делегата, предназначенная для установки метки на первом VC в строку из строки, выбранной в табличном представлении второго VC:
openSelected(selected: String, viewController: UIVIewController){
label.text = selected
}
Вот моя функция didSelectRow на втором VC:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath){
var selected = savedStrings[indexPath.row]
delegate?.openSelected(selected: selected, viewController: self)
dismiss(animated: true, completion: nil)
}
Делегат настроен правильно. В табличном представлении все строки отображаются в разных строках. Я хочу, чтобы текущее представление исчезло и показывала мою метку с выбранной строкой в виде текста, когда я выбираю строку. Однако строка выбрана, но ничего не происходит, и я могу продолжить играть с табличным представлением и выбирать новые строки, и ничего не произойдет.
Почему не работает функция увольнения / фактически закрывает ВК? Надеюсь, этой информации достаточно. Спасибо.





Это правильный метод таблицы UITableViewDelegate
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
так же убедитесь в viewDidLoad
self.tableView.delegate = self
//
Убеждаться
class ViewController : UIViewController,UITableViewDelegate,UITableViewDataSource
У меня нет настроенного UITableViewDelegate, только мой собственный протокол, который я создал для передачи данных. Это проблема?
Вы можете опубликовать полный код, пожалуйста
При назначении делегата я получаю сообщение об ошибке «Невозможно присвоить значение типа ViewController типу UITableViewDelegate?»