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
}
あなたの質問に関係のないが、あなたのユーザーのデータを保存するためにUserDefaultsを使用しない迅速なデリゲート例。 – rmaddy
'EditTaskTableViewCell'または' ViewController'の 'func()'にセルの情報をどこで設定していますか? – Fantini
私は 'TaskTableViewController'にセルのデータ(ラベルのようなもの)を構築します。 @fantini –