有沒有辦法批量刪除存儲在覈心數據中所有實體中的所有數據?在Swift 3中刪除核心數據實體中的所有數據
我在iOS 9或10的某處讀到蘋果介紹了一種批量刪除的方法,但我似乎無法找到任何有用的信息。
最終,我只需要一個通過實體的函數,並刪除其中的所有數據。看起來它應該很簡單,但是它的文檔/教程已經證明非常難以找到。
有什麼想法?
編輯
我添加以下代碼附加到按鈕的IBAction爲:
@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()
}
這似乎並不但是工作。如果我關閉該項目並重新打開它,數據仍然存在。我假設這也是爲什麼表視圖不更新,因爲數據實際上並未被刪除。
我編輯我的職務,以表明我使用的代碼 - 但似乎並沒有爲我工作。基本上我有一個UITableView加載到我的視圖控制器中,並且我在一個名爲「PLProjects」的實體中顯示所有「項目」。我在屏幕上還有一個按鈕實例,並且與它關聯的IBAction。我評論中的更新顯示了該IBAction中的代碼 - 未能從Core Data Entity中刪除項目,也未能更新表格。 –
創建請求是不夠的。你也必須執行它。請求不會自動運行,它們會在您告訴它們運行時運行。 –
啊,對不起。我誤解了你最初發布的內容。我認爲代碼的第二部分是添加一個謂詞。所以 - 就這麼說 - 在第二個片段中,什麼是「moc」? –