核心数据CRUD
在本教程中,您将学习如何使用Core Data框架从持久性存储中插入,获取,更新和删除数据。
您将执行的步骤:
- 使用集成的核心数据创建一个新项目
- 创建一个新实体
- 将数据插入持久性存储
- 提取实体的所有数据
- 使用实体的ID提取实体的托管对象
- 更新管理对象的数据
- 删除托管对象
- 清除实体的所有数据
如果您遇到以下任何问题,可以在此处下载完整的源代码项目。
1.使用集成的核心数据创建一个新项目
创建新项目时,请选中“ 使用核心数据”选项。 因此,Xcode将为您准备使用骨架数据的框架
Xcode创建项目之后。 Xcode为您添加了2件事:
- AppDelegate.swift文件中的几行代码
- [项目名称] .xcdatamodeld文件
打开AppDelegate.swift文件,您将看到一些代码行,如下所示:
接下来,选择菜单编辑器->创建NSManagedObject子类 。 遵循Xcode的指南为您创建NSManagedObject的子类
3.将数据插入持久性存储
要将数据插入持久性存储中,首先,需要实例化一个托管对象,为其属性填充内容并保存上下文。 将以下代码段添加到您的视图控制器中:
运行该应用程序,一切都会正常进行,并出现错误。
4.提取实体的所有数据
首先,您需要阅读以下一些文章,以了解如何从持久性存储中获取数据:
NSFetchRequest
用于从持久性存储中检索数据的搜索条件的描述。
取(_:)
返回满足给定提取请求指定的条件的对象数组。
显示插入的内容。 将以下方法添加到视图控制器中:
运行该应用程序,该人的信息应显示在控制台日志中
5.使用实体的ID提取实体的托管对象
每个管理对象都有一个全局ID。 使用此全局ID,您可以获得托管对象。 全局ID的格式如下:
x-coredata://F172B5AC-C592–42AC-8110-D968E3B69FC9/Person/p8
要获取托管对象的全局ID,请使用以下代码行:
managedObject.objectID.uriRepresentation().absoluteString
从此全局ID可以使用以下代码行获取托管对象:
managedObjectContext.persistentStoreCoordinator?.managedObjectID(forURIRepresentation: URL(string: globalID)!)
将以下代码段添加到您的视图控制器中,以显示第一人称的信息:
运行该应用程序并查看控制台日志。
6.更新管理对象的数据
要更新托管对象,只需更新该托管对象的属性并保存上下文。 将以下代码段添加到您的视图控制器中:
运行应用程序并检查控制台日志
7.删除托管对象
要删除托管对象,只需调用NSManagedObjectContext类的delete(_:)
方法并传递要删除的托管对象。 将以下代码段添加到您的视图控制器中:
运行应用程序并检查控制台日志
8.清除实体的所有数据
在对Core Data进行了更多测试并想要清除实体中的所有记录之后,NSBatchDeleteRequest类将为您提供帮助。 将以下方法添加到您的视图控制器中:
运行应用程序并检查控制台日志
就这样。 您可以在此处下载完整的源代码项目。