什么是Core Data
Core Data是在应用中用于管理模型层数据的框架,在有关对象生命周期及其图像化管理的任务项目中提供了概括性和自动化的解决方法,包括数据持久化。
Core Data帮助你在书写模型层时减少了50%到70%的代码量,主要是由于以下内置的功能,你不必实现,测试或者优化:
- 更改 tracking、废除内嵌的管理方法(management)、重写基本的文本编辑。
- 维持数据持久化,包括维持多个对象的关系前后一致
- 对对象的懒加载,partially materialized futures(faulting),在读写数据的时候减少开销。
- 属性的自动验证。以确保单个值在可用的范围内,去管理,书写对象拓展的标准键值编码验证方法。
- 简化架构更改、可以执行高效的就地模式迁移的工具。
- 可选集成整合应用的控制层(controller layer),以支持用户界面的同步
- 在内存和用户界面中分组、过滤和整合数据。
- 自动支持储存在外部仓库中的对象数据
- 复杂的查询编译。不用书写SQL语句,可以通过NSPredicate创建查询语句来查询对象。
- 版本跟踪和优化锁定(optimistic lock)来自动解决冲突版本。
- 与MacOS和IOS工具有效的整合。
NOTE
这个文档使用的是一个数据库实例来描述。它仅代表了一个丰富但容易理解的领域。然而Core Data不局限与数据库风格的应用程序,该框架也是同样有用与矢量图形应用的基础,例如Sketch和Keynote。