У меня есть один вид таблицы, и внутри я разместил один основной вид.И внутри этого основного вида я поместил одну кнопку. И когда бы ни использовал, нажмите на кнопку моей ячейки.Мне нужно получить заголовок ячейки. Это то, что мне нужно.Но я попробовал следующий код ниже.Не уверен, что я пропускаю.Это вовсе не вызывает мою целевую строку cell.add.
Код в ячейке для строки с индексом:
cell.cellBtn.tag = indexPath.row
cell.cellBtn.addTarget(self, action:#selector(self.buttonPressed(_:)), for:.touchUpInside)
@objc func buttonPressed(_ sender: AnyObject) {
print("cell tap")
let button = sender as? UIButton
let cell = button?.superview?.superview as? UITableViewCell
let indexPath = tableView.indexPath(for: cell!)
let currentCell = tableView.cellForRow(at: indexPath!)! as! KMTrainingTableViewCell
print(indexPath?.row)
print(currentCell.cellTitleLabel.text)
}
Я даже добавил точку останова, но она не при вызове моей строки cell.addTarget
Пробовал и с замыканием.В ячейке для строки по индексу:
cell.tapCallback = {
print(indexPath.row)
}
В моей ячейке табличного представления:
var tapCallback: (() -> Void)?
@IBAction func CellBtndidTap(_ sender: Any) {
print("Right button is tapped")
tapCallback?()
}
Вот этот оператор print получает печать в консоли.