안녕하세요 :)
tableView 행 안의 버튼 index를 찾아야 되는 경우가 있습니다. 특정 행의 버튼을 클릭하면, 컨트롤러가 어느 행의 버튼이 눌렸는지 알아야 합니다.
이 눌려진 행의 IndexPath
를 어떻게 찾을 수 있을까요 🤔❓
저는 아래 코드처럼 버튼이 클릭될때 마다 버튼의 superview
를 거슬러 올라가 cell까지 간 다음 indexPath(for: cell)
을 사용해서 클릭된 버튼이 위치한 indexPath를 구해주었습니다.
@IBAction func removePlayer(_ sender: UIButton) {
let contentView = sender.superview
let cell = contentView?.superview as! UITableViewCell
if let indexPath = playerTableView.indexPath(for: cell) {
users.remove(at: indexPath.row)
playerTableView.reloadData()
}
}
저의 경우 remove 버튼을 누르면 해당 행이 제거되도록 구현을 해보았는데요.
users 데이터의 해당행을 remove 해주고, tableView를 reload 해주었습니다 :)