Как передать данные из класса ячеек табличного представления обратно в контроллер представления с табличным представлением? - PullRequest
0 голосов
/ 01 марта 2019

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

Благодаря полезным участникам я узнал, что ответ2 способа заставить кнопку щелкнуть из пользовательского класса ячейки tableViewCell взаимодействовать с viewController, у которого есть tableView.Вы можете использовать делегаты / протоколы или вы можете использовать замыкания.Я предоставил ссылку на видео YouTube, в котором метод «Делегат» объясняется как ответ на мой собственный вопрос ниже, а другой постер ниже - отличный краткий пример использования замыканий.

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Благодаря руководству здесь я смог найти этот учебник youTube, который я нашел очень полезным, рассказывая, как настроить делегаты и протоколы, как решение для того, чтобы класс ячеек инструктировал контроллер представления, что мы хотели бы, чтобы он делал.

https://www.youtube.com/watch?v=UPrBXUWPf6Q

0 голосов
/ 01 марта 2019

Используйте замыкание для вызова кнопки возврата из ячейки для просмотра контроллера.

CustomCell

class CustomCell : UITableViewCell {

    var ClousureBtnActionHandler:((_ sender: AnyObject) -> Void)?


    @IBAction func btnInfoActionHandler(_ sender : AnyObject) {
        if self.ClousureBtnActionHandler != nil {
            self.ClousureBtnActionHandler!(sender)
        }
    }
}

ViewController

Источник данных TableView

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell : CustomCell = tableView.dequeueReusableCell(withIdentifier: "CustomCell") as! CustomCell
        cell.ClousureBtnActionHandler = { sender in
            print("Do any thing with your button action")
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...