Swift UITableViewCell内のボタンからindexPathを取得する

よく使うので備忘録。


// UITableViewをOutlet接続
@IBOutlet weak var tableView: UITableView!

@IBAction func sampleButton(_ sender: UIButton) {

    // UITableView内の座標に変換
    let point = self.tableView.convert(sender.center, from: sender)

    // 座標からindexPathを取得
    if let indexPath = self.tableView.indexPathForRow(at: point) {
        print(indexPath)

    } else {
        //ここには来ないはず
        print("indexPath not found.")
    }
}

参考文献