目录:[Swift]Xcode实际操做html
本文将演示如何删除数据持久化对象。swift
在项目导航区,打开视图控制器的代码文件【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 }