2016-10-20 3 views
0

私は、2つのボタンを持つカスタムテーブルビューセルを持っています。どちらかが押された場合は、テーブルビューで行を削除します。私はすでにそのコードを知っています:カスタムセルからテーブルビュー行を削除するには?

myArray.removeAtIndex(indexPath.row) 
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade) 

私はちょうど私のカスタムセルからこれを呼び出したいと思います。私はそのように設定しています:

@IBAction func handleDecline(sender: AnyObject) 
{ 
    // Remove table view row 
} 

@IBAction func handleApprove(sender: AnyObject) 
{ 
    // Remove table view row 
} 

どうすればいいですか?

答えて

1

セル自体からセルを削除しないでください。 MVCパターンに違反します。イベントは次のようにビューコントローラに委譲し、deleteRows方法であっ処理する必要があります:

tableView.deleteRows(at: [indexPath], with: .fade) 

はまたのtableViewのDataSourceは、それに応じて更新する必要があり、そうでない場合はアプリがクラッシュします。

Hereはあなたが動作していないようです例コントローラ

+0

を表示するために、細胞からのイベントを委任することができる方法の例を見つけることができます。おそらくそれは時代遅れですか? –

+0

私の謝罪、私は小さな構文の変更を修正し、今は動作します。 –

関連する問題