Метод делегата табличного представления (didSelectRowAt) не вызывается при нажатии строки - PullRequest
1 голос
/ 23 марта 2020

Я пытаюсь выполнить переход, когда пользователь нажимает определенную ячейку / строку в представлении таблицы. Я реализовал протокол делегата

extension myVC : UITableViewDelegate

Вот моя функция didSelectRow

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
   performSegue(withIdentifier: "searchToOtherUser", sender: self)
}

В предыдущей функции также есть некоторые дополнительные вещи, но когда я помещаю точку останова в функцию, Я вижу, что приложение никогда не входит в эту функцию.

Я видел некоторые ответы, ранее упомянутые в этой теме c (жест пользователя не используется, и взаимодействие пользователя с представлением таблицы включено ).

У кого-нибудь есть идеи, как мне это исправить?

Большое спасибо, Энтони

1 Ответ

0 голосов
/ 23 марта 2020

Если содержимое загружается и выбор активирован, необходимо проверить следующее:

  • 1) установить делегат программно в swift
  • 2) (необязательно) установить просмотр таблицы delegate до File's Owner в случае, если вы добавили просмотр таблицы к вашему UIViewController в Storyboard вместо создания UITableViewController (что делает это автоматически для вас).

Проверка 1 - программная установка делегата

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.delegate = self
    ...
}

Проверка 2 (только для TableView, добавленного в UIViewController в раскадровке)

В раскадровке через Interface Builder Вы также должны связать табличное представление delegate с File's Owner:

** Проверка 2 - Шаг A) **

image

Это может быть так вместо явного указания File's Owner на левой панели, возможно, вам придется сделать это следующим образом:

Проверка 2 - Альтернативный шаг A)

image

и затем выберите delegate следующим образом:

Проверка 2 - Шаг B)

image

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...