нажмите кнопку в tableViewCell и запустите другой контроллер

#swift #uibutton #show #uistoryboardsegue

#swift #uibutton #показать #uistoryboardsegue

Вопрос:

У меня есть одна кнопка UIButton в tableviewcell, которая установила «show segue» в MainStoryboard. И я хочу нажать эту кнопку и запустить новый контроллер, так как я могу это сделать?

Комментарии:

1. Создайте обратный вызов либо делегируйте для получения действия кнопки, после чего выполните обмен данными между ViewControllers.

Ответ №1:

// есть много способов сделать это, 1 из способов: // возьмите выход кнопки в tableviewcell

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell2 : cellname = tableView.dequeueReusableCell(withIdentifier: "cellname") as! cellname
    cell2.addAddressButton.addTarget(self, action: #selector(openNewVC), for: .touchUpInside) 
    return cell2
}

func openNewVC(){
        self.performSegue(withIdentifier: "Identifiername", sender: self)
    }
  

Комментарии:

1. или вы можете назначить делегатов и выполнить задачу

2. О .. это то, что мне нужно.

Ответ №2:

Пожалуйста, используйте пользовательский делегат в ячейке tableview,

Для этого перейдите по ссылке ниже,

https://medium.com/@jamesrochabrun/implementing-delegates-in-swift-step-by-step-d3211cbac3ef

Теперь в контроллере представления внутри функции делегирования используйте

 performSegue(withIdentifier: "identifier", sender: self)