TableViewDataSourceからセルを削除するか、追加します。セットアップ
私は、テーブルビューのデリゲートとして機能標準TableViewController.swift
を持っており、データソースとして機能しますTableViewDataSource.swift
呼ば別のファイル。
テーブルビューの上部には、セル内に一連のボタンがあり、クローズアクションがあります。このセクションの目標は、ユーザーが却下する可能性のある通知として機能することです。
各ボタンのタグはindexPath.row
です。
問題は、私の問題はこれです。ユーザーが「x」ボタンをタップすると、このセルの削除をアニメートしたいと思います。これはこれで処理されます:上記のようにボタン機能tappedOnExit
がある、私のdataSource
であるため、
func tappedOnExit(_ sender: UIButton) {
print ("tapped on \(sender.tag)")
}
は、正式に行を削除するために、私は、
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
を呼び出す必要があります別ファイル私のviewControllerからself.tableView. deleteRowsAtIndexPaths
のようなものを呼び出すことができません。ありがとう!
これは間違いなく、私の' delegate'と 'dataSource'の間の通信に使用できる方向です。これをデフォルトのtableViewメソッドを使って有機的に行う方法がもうない場合は、おそらくこれを行うでしょう。 – daspianist
"x"の送信者であれば、superviewを見つけることができ、そこからtableviewのメソッドを呼び出すことができます –