こんにちはコアデータから行を削除します。テーブルからアイテムを削除できましたが、コアデータは削除できませんでした。多くの場所がこの質問に同じ答えを与えます。しかし、何時間も苦労して、Google検索結果の最初の20ページからすべてのリンクを見ると、それはまだ動作していません。アプリケーションデリゲートにはメンバーがありませんpersistentStoreCoordinator(コアデータから削除、即時)
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == UITableViewCellEditingStyle.delete {
foodItems.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: UITableViewRowAnimation.automatic)
}
let delegate = UIApplication.shared.delegate as! AppDelegate
let managedObjectContext = delegate.persistentContainer.viewContext
let coord = delegate.persistentStoreCoordinator // App delegate has no member persistentStoreCoordinator
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "ProductName")
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do {
try coord.executeRequest(deleteRequest, withContext: managedObjectContext)
} catch let error as NSError {
debugPrint(error)
}
}
誰かが私を助けてくれることを願っています。前もって感謝します。
申し訳ありませんが、私は答えを変更しました。バッチ削除を保存する必要はありません。しかし、メモリ内のオブジェクトをリロードする必要があります。これは、フェッチ要求が正しいことを前提としています。 –