2017-02-15 18 views
2

にデータを渡すために、細胞上のボタンを使用すると、他のDetailVCあるHomeVCと呼ばれています。私はラベルとボタンでセルを表示するHomeVCのテーブルビューを持っています。 DetailVCにはラベルだけがあります。私は、テーブルビューの上に文字列の配列を表示していますし、細胞上のボタンがクリックされたとき、私はDetailVCのラベルにラベルのテキストを運んでほしいです。は、私は2つのVC、そのうちの一つを持って迅速

今、私は簡単にdidSelectRowAt方法やセグエ方法を準備中indexPathForSelectedRowを使用してのいずれかでこれを行うことができます。しかし、どちらのケースでも、ボタン自体ではなくセル自体をタップする必要があります。

私は迅速でちょうど初心者です。しかし、これを説明するために、多くのコードを書く必要はありません。もし可能であれば、詳しく説明してください。

ありがとうございます。 cellForRowAtで

+2

cellForRowであなたのボタンにターゲットを追加 –

答えて

2

が、これは動作します

func buttonAction(sender: UIButton) { 
    let data = tableArray[sender.tag] 
    // logic to pass present detailVC 
} 

希望すなわちbuttonタグを使用して、配列から項目を取得

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cellID", for: indexPath) 
     cell.button.tag = indexPath.row 
     cell.button.addTarget(self, action: Selector("buttonAction:"), for: .touchUpInside) 

     // other cell element setup 
     return cell 
    } 

ボタンすなわちして、ボタンアクションでターゲットを追加!!

関連する問題