CoreData介绍
CoreData
是一门功能强大的数据持久化技术,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。CoreData提供数据--OC对象映射关系来实现数据与对象管理,这样无需任何SQL语句就能操作他们。CoreData
数据持久化框架是Cocoa API
的一部分,它允许按照实体
-属性
-值模型
组织数据,并以XML
、⼆进制文件
或者SQLite数据⽂件
的格式持久化数据,可以简单的理解为Cocoa对SQLite的一层封装。
简单使用
创建工程的时候直接勾选coredata
通过这样创建的,进入AppDelegate.m文件,会发现生成如下代码 注: NSPersistentContainer支持的ios最低版本为10.0,10以下用NSPersistentStoreCoordinator
或在工程中创建
对应生成.xcdatamodeld文件,选中,然后如图所示,添加实体和实体对应的属性
创建生成存储对象的类,Xcode 自动生成,如图所示,会生成左边的四个文件
用到的类
.xcdatamodeld
文件:定义了数据库数据和 OC 对象转换的映射关系,编译后为 .momod
文件
NSManagedObjectModel
:数据模型(说白了就是这个表),负责读取解析 .momod
文件
NSPersistentContainer:数据库连接类,通过解析结果去实现数据库和 OC 对象之间的相互转换,10.0之前用NSPersistentStoreCoordinator
NSManagedObjectContext
:数据模型管理类,等同于一个容器,用来存储从数据库中转换出来的所有的 OC 对象。我们的增删改查操作直接对这个类使用来获得或者修改需要的 OC 对象
主要用NSManagedObjectContext进行操作
CoreData存取数据
存储
读取
NSPersistentContainer 异步线程保存,存储速度要快很多,可使用