Я новичок в MVC и протоколах, но я пытаюсь адаптироваться к MVC, используя протоколы для передачи данных.У меня есть кнопка в моей ячейке табличного представления, и я пытаюсь получить indexPath выбранной строки, чтобы выполнить какое-либо действие при нажатии этой кнопки.Я создал протокол и установил делегата на правильный VC.моя проблема в том, как получить выбранный indexPath через делегата.Простите за мое невежество
Таблица Ячейка
class PlaylistCell: UITableViewCell {
var playButtonTappedDelegate: PlaylistCelldelegate!
@IBAction func PlayButton(_ sender: Any) {
// Dont know how to get this Int, when cell is tapped
playButtonTappedDelegate.handlePlayButton(for: self, for: <#Int#>)
}
}
Протокол
protocol PlaylistCelldelegate {
func handlePlayButton( for cell: PlaylistCell, for row: Int)
}
Я согласился с делегатом на этом ВК
class PlaylistVC: UIViewController, PlaylistCelldelegate {
func handlePlayButton(for cell: PlaylistCell, for row: Int) {
print("row\(row)")
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "PlaylistCell", for: indexPath) as! PlaylistCell
cell.playButtonTappedDelegate = self
return cell
}
}