質問編集履歴

1 わかりやすく変更

watanab_

watanab_ score 36

2019/01/03 00:16  投稿

TableViewのデータが消えない
TableViewのdeleteしたはずのデータが再起動すると元に戻ってしまう
### 前提・実現したいこと
TableViewに登録されたデータがdeleteしても消えません
TableViewに登録されたデータがdeleteして消したはずなのですが、再起動すると元に戻ってしまいます
コードを調べても間違いが分からないので解決策を教えていただきたいです。
edithingstyleの部分がそうです。
### 該当のソースコード
```Swift
import UIKit
class SaveViewController: UIViewController,UITableViewDelegate,
UITableViewDataSource {
   @IBOutlet var tableView: UITableView!
   
   var resultArray = [String]()
   
   override func viewDidLoad() {
       super.viewDidLoad()
       tableView.delegate = self
       tableView.dataSource = self
       }
       
       
   override func viewWillAppear(_ animated: Bool) {
           super.viewDidAppear(animated)
           
           if UserDefaults.standard.object(forKey: "save") != nil {
               resultArray = UserDefaults.standard.object(forKey: "save") as! [String]
           
       }
       tableView.reloadData()
       
   }
   
   
   func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
       return resultArray.count
   }
   
   func numberOfSections(in tableView: UITableView) -> Int {
       return 1
   }
   
   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
       
       cell.textLabel!.text = resultArray[indexPath.row]
       
       return cell
   }
   
   /*func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
       return 40
    }*/
   
   func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
       
       if editingStyle == .delete {
           resultArray.remove(at: indexPath.row)
           
           UserDefaults.standard.set(resultArray, forKey: "todo")
           
           tableView.reloadData()
       }
   }
```
### 試したこと
ここに問題に対して試したことを記載してください。
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Xcode

    8455 questions

    Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

  • Swift

    14592 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る