2017-01-05 4 views
0

私はテーブルビューを含むビューコントローラを持っています。テーブルビューには、セルに含まれるデータを削除するボタンがあるセルがあります。削除ボタンを押すと、セル情報がデータベースから削除されますが、テーブルビューは更新されずに前後に表示されます。Swift3:カスタムテーブルビューのセルクラス内からテーブルビューを再描画

TableViewにアクセスして、テーブルセル内のメソッドから再描画する方法がわかりません。

class EditTaskTableViewCell: UITableViewCell { 

    //......// 

    @IBAction func deleteButtonPressed(_ sender: Any) { 
     let userDefaults = Foundation.UserDefaults.standard 
     if let userTasks = userDefaults.array(forKey: "userTasks"){ 
      let newArray = removeTask(item: taskNameLabel.text!, from: userTasks as! [String]) 
      userDefaults.set(newArray, forKey: "userTasks") 
      userDefaults.synchronize() 
     } 

     //update table view 

    } 
} 


class EditTaskTable_VC: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    //......// 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

      let cell = Bundle 
      .main 
      .loadNibNamed("EditTaskTableViewCell", owner: self, options: nil)? 
      .first as! EditTaskTableViewCell 

      cell.taskName.text = cellData[indexPath.row].title 

      return cell  

    } 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return cellData.count 
    } 
+0

あなたの質問に関係のないが、あなたのユーザーのデータを保存するためにUserDefaultsを使用しない迅速なデリゲート例。 – rmaddy

+0

'EditTaskTableViewCell'または' ViewController'の 'func()'にセルの情報をどこで設定していますか? – Fantini

+0

私は 'TaskTableViewController'にセルのデータ(ラベルのようなもの)を構築します。 @fantini –

答えて

関連する問題