コアデータのすべてのエンティティに保存されているすべてのデータを一括削除する方法はありますか?Swift 3のコアデータエンティティのすべてのデータを削除する
私は、iOS 9または10にAppleが一括削除を行う方法を紹介しましたが、私はそれについて何か良い情報を見つけるように見えることができないことをどこかで読みました。
最終的には、エンティティを通過してその中のすべてのデータを削除する関数が必要です。シンプルであるように思えますが、ドキュメント/チュートリアルは見つけるのが非常に難しいと証明されています。
どのような考えですか?
@IBAction func clearAllData(_ sender: AnyObject) {
let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "PLProjects")
let request = NSBatchDeleteRequest(fetchRequest: fetch)
//get the data from core data
getPLData()
//reload the table view
tableView.reloadData()
}
しかしこれは動作していないよう:
編集は私がボタンに付加IBActionに次のコードを追加しました。プロジェクトを閉じてもう一度開くと、データはそのまま残ります。私は、データが実際に削除されていないので、これもテーブルビューが更新されない理由と仮定しています。
私が使用したコードを表示するために私のポストを編集した - しかし、それは私のために動作していないようでした。基本的に私は、私のビューコントローラにロードされたUITableViewを持っており、 "PLProjects"と呼ばれるエンティティのすべての "プロジェクト"を表示しています。また、IBActionが関連付けられた画面上にボタンインスタンスがあります。私のコメントの更新は、IBActionのコードを示しています。これは、Core Data Entityからアイテムを削除することができず、テーブルを更新できませんでした。 –
リクエストを作成するだけでは不十分です。あなたもそれを実行する必要があります。リクエストは自動的に実行されず、実行するように指示されたときに実行されます。 –
ああ、ごめんなさい。私は最初に投稿したことを誤解しました。私はコードの2番目のスニペットが述語を追加することだと考えました。だから - そこにある2番目のスニペットでは、 "moc"は何ですか? –