2017-02-05 2 views
1

IntegerをindexPathにキャストする機会はありますか?swift3 intをindexPathにキャスト

ボタンを押したときにセルからテキストを出力する必要があるためです。または、ボタンの送信者として文字列を使用できますか?

cell.uncheckbox.tag = indexPath.row as! IndexPath 

cell.uncheckbox.addTarget(self, action: #selector(ViewController.btnClicked), for: UIControlEvents.touchUpInside) 




func btnClicked(sender: UIButton) 
{ 

    let row = sender.tag 
    let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: row) as! TableViewCell; 

    print("cellentext \(cell.textLabel?.text)") 
} 

ありがとうございました!

+0

コードスニペットまたは出力のインデントを確認してください。それは何とか見える。ありがとうございました! – Kie

答えて

4

あなたが現在行っていることは、ボタンがある行の新しいセルを取得することです。おそらくあなたが必要なものではありません。何をしたい

let row = sender.tag 
let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: row) as! TableViewCell; 

はあなたのIndexPathに行パラメータとしてtagを使用しています。その後、

let indexPath = IndexPath(row: tag, section: 0) 

そして、あなたのUITableViewcellForRow(at: IndexPath)方法を使用して、現在のセルを取得するためにそれを使用する:あなたは唯一つのセクションを持っていると仮定、次のように独自のIndexPathを構築することができます。

let cell = tableView.cellForRow(at: indexPath) 

希望します。

+1

ありがとうございます! –

+0

あなたは大歓迎です!私は助けてうれしいです。 – Kie

関連する問題