iOS的CoreData技术笔记
Posted 搜狐技术产品
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS的CoreData技术笔记相关的知识,希望对你有一定的参考价值。
方案叫 对象→关系映射(英文简称ORM
)。
Core Data
还提供了很多有用的特性,比如回滚机制,数据校验等。即可创建。
Model.xcdatamodeld
。下面我依然以 Model.xcdatamodeld
作为举例的文件名。和 一对多→to many
。
Core Data
允许我们配置这种联系,具体做法就是在RelationShip
栏点击对应的关系栏,它将会出现在右侧的栏目中。(栏目如果没出现可以在xcode
右上角的按钮调出,如果点击后栏目没出现Relationship
配置项,可以多点击几下,这是xcode
的小bug)。Relationship
的配置项里,有一项项名为Type
,点击后有两个选项,一个是To One
(默认值),另一个就是To Many
了。NSPersistentContainer
Core Data
框架的swift
文件开头引入这个框架:持久化方案,现在我们在Model.xcdatamodeld
已经建立了两个Entity
,那么如果在代码里要操作他们,是不是会有对应的类?
Model.xcdatamodeld
编辑窗口中的Book这个Entity
,打开右侧的属性面板,属性面板会给出允许你编辑的关于这个Entity
的信息,其中Entity
部分的Name
就是我们起的名字Book
,而下方还有一个Class
栏,这一栏就是跟Entity
绑定的类信息,栏目中的Name
就是我们要定义的类名,默认它和Entity
的名字相同,也就是说,类名也是Book
。所以改与不改,看个人思路以及团队的规范。Entity
对应的类,都继承自NSManagedObject
。的阶段,正式进入到 产生和操作数据 的阶段。
就成了,读取的示例代码:的书。在新的代码示例里,我们在之前实现的readBooks
函数代码里略作修改: 的书,因为我们之前已经保存过这本书,所以可以正确筛选出来。筛选方案还支持大小对比,如 这本书书名修改为 算法(第5版) ,可以按照如下代码示例:的思路,先拿到筛选的书本,然后修改书本的名字,当名字被修改后,context
将会知道数据被修改了,这时候判断数据是否被修改(实际上不需要判断我们也知道被修改了,只是出于编码规范加入了这个判断),如果被修改,就保存数据,通过这个方式,成功更改了书名。的思路,找到我们想要的思路,并且删除它。删除的方法是通过context
的delete
函数。以下例子中,我们删除了所有 isbm="9787115293800"
的书籍: Kaggle TOP1:神奇的时序Trick直接炸榜
2021-07-22
MotionLayout动画从未如此简单!
2021-07-15
JetPack Compose从初探到实战
2021-06-17
从YYModel源码分析JSON解析原理
2021-06-03
iOS CoreData技术学习资源汇总
1. 苹果官方:Core Data Programming Guide
什么是CoreData?
创建托管对象模型
初始化Core Data堆栈
提取对象
创建和修改自定义托管对象
2.Core Data在 macOS 10.12 , iOS 10.0, tvOS 10.0和watchOS 3.0中的新特性
3.
以上是关于iOS的CoreData技术笔记的主要内容,如果未能解决你的问题,请参考以下文章