1. 程式人生 > >[Xcode10 實際操作]七、文件與數據-(14)數據持久化存儲框架CoreData的使用:刪除CoreData中的數據

[Xcode10 實際操作]七、文件與數據-(14)數據持久化存儲框架CoreData的使用:刪除CoreData中的數據

刪除 使用 如何 pic gate fetch 持久 uia 一個

本文將演示如何刪除數據持久化對象。

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】

 1 import UIKit
 2 //引入數據持久化存儲框架【CoreData】
 3 import CoreData
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10 11 //獲得當前程序的應用代理對象 12 let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate 13 //通過應用代理對象,獲得管理對象上下文 14 let managedObjectContext = appDelegate.persistentContainer.viewContext 15 16 //通過管理對象上下文,根據實體的名稱,獲得實體對象 17 let entity:NSEntityDescription? = NSEntityDescription.entity(forEntityName: "
User", 18 in: managedObjectContext) 19 20 //創建一個數據提取請求對象 21 let request:NSFetchRequest = NSFetchRequest<User>(entityName: "User") 22 //設置提取數據的偏移值 23 request.fetchOffset = 0 24 //設置提取數據的數量 25 request.fetchLimit = 10
26 //設置需要提取數據的實體對象 27 request.entity = entity 28 29 //添加一條異常捕捉語句,用於執行數據的查詢和刪除操作 30 do 31 { 32 //使用try語句,執行管理對象上下文的數據提取操作, 33 //並把提取的結果,存儲在一個數組中 34 let results:[AnyObject]? = try managedObjectContext.fetch(request) 35 //創建一個循環語句,對提取結果進行遍歷操作 36 for user:User in results as! [User] 37 { 38 //同時在循環語句中,刪除遍歷到的實體對象 39 managedObjectContext.delete(user) 40 } 41 42 //執行管理對象上下文的數據存儲操作,保存編輯之後的結果 43 try managedObjectContext.save() 44 45 //使用try語句,執行管理對象上下文的數據提取操作, 46 //重新提取刪除後的數據 47 let results2:[AnyObject]? = try managedObjectContext.fetch(request) 48 //創建一個循環語句,對新的提取結果進行遍歷操作 49 for user:User in results2 as! [User] 50 { 51 //在控制臺打印輸出相關日誌 52 print("userName=\(user.userName!)") 53 print("password=\(user.password!)") 54 //因為數據已經全部刪除,所有沒有任何日誌的輸出 55 } 56 } 57 catch 58 { 59 print("Failed to modify data.") 60 } 61 } 62 63 override func didReceiveMemoryWarning() { 64 super.didReceiveMemoryWarning() 65 // Dispose of any resources that can be recreated. 66 } 67 }

[Xcode10 實際操作]七、文件與數據-(14)數據持久化存儲框架CoreData的使用:刪除CoreData中的數據