2017-05-01 12 views
0

detailviewのボタンからテーブルビュー内のミッションを削除するメソッドを作成しようとしていますが、問題の解決方法がわかりません。しかし、ボタンからtableviewの行を削除する

@IBAction func missionCompletedButton(_ sender: Any, forEvent event: UIEvent) { 
    missions.remove(at: indexPath.row) 
    tableView.deleteRows(at: [indexPath]) 
} 

コンパイラは未解決の識別子の使用が言うあなたが取得しているエラーは、あなたが「indexPath」と呼ばれる変数を参照しているという事実によるものであるindexpath

答えて

1

この

は私の方法であり、あなたの関数のパラメータでもなく、その関数の範囲内にある(明らかに)可視の変数でもありません。完成された「ミッション」のインデックスがわかっている場合(あなたは常に最初の「ミッション」を完了している場合など)

あなたはこのような何かを行うことができます。

let missionIndex = 0 //The first mission 
missions.remove(at: missionIndex) 
tableView.deleteRows(at: [IndexPath(row: missionIndex, section: 0)]) 

をそれ以外の場合は、あなたが行っていますどのミッションインデックスを削除する必要があるかを判断するために、他の方法を使用する必要があります。これは、あなたのtableViewセル、データソースなどをどのように設計したかによって大きく左右されます。これを解決するためにはまだ多くのコードが必要です。

関連する問題