I have read similar questions like this but these codes didn\'t worked for me so please help : I have a table view with some buttons in each cells - This table view is factor fo
Create IBAction for you button in the custom cell class then declare a block that will be called on button click.
var ButtonHandler:(()-> Void)!
@IBAction func ButtonClicked(_ sender: Any) {
self.ButtonHandler()
}
Then in your tableview class inside the cell for row method,
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = playlistTableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CustomTableViewCell
cell.ButtonHandler = {()-> Void in
// your code
}
return cell
}
Here is update
just leave it, i explained it more simple,
create a button action in your cell class,then
Writre the code:-
> //Cell class
protocol CellDelegate: class {
func didTapCell(index: IndexPath)
}
var delegateCell:CellDelegate?
var indexPath:IndexPath?
@IBAction func buttonCellClick(_ sender: Any) {
delegateCell?.didTapCell(index: indexPath!)
}
> //In ViewController
cell.delegateCell = self
cell.indexPath = indexPath
func didTapCell(index: IndexPath) {
print("PRESS BUTTON >> \(index.row)")
}