zoukankan      html  css  js  c++  java
  • [Xcode 实际操作]七、文件与数据-(14)数据持久化存储框架CoreData的使用:删除CoreData中的数据

    目录:[Swift]Xcode实际操作

    本文将演示如何删除数据持久化对象。

    在项目导航区,打开视图控制器的代码文件【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 }
  • 相关阅读:
    jQuery年月日(生日)选择器
    jQuery在线选座订座(高铁版)
    jQuery在线选座订座(影院篇)
    Failed to Attach to Process ID Xcode 解决办法
    C++ Virtual详解
    消除Xcode 5中JosnKit类库的bit masking for introspection of objective-c 警告
    常见创建项目编译运行问题汇总
    KVC的用法
    xcode在调试时无法查看变量值
    ObjC的initialize和init
  • 原文地址:https://www.cnblogs.com/strengthen/p/10049777.html
Copyright © 2011-2022 走看看