这是苹果官方文档 Core Data Programming Guide 的渣翻译。
Core Data名词解释
Core Data是一个用来在应用中管理模型层的框架。它提供了一系列通用和自动化的解决方案,用以处理那些和对象生命周期、对象图有关的任务,包括持久化。
Core Data一般能够降低原本需要用来支持模型层的50%到70%的代码量。这主要是因为以下这些你不必手动实现、测试和优化的特性:
- 除了基本的文本编辑之外,进一步提供了更新追踪、内置的撤销和重做管理。
- 更新操作同步的维护,包括了维护对象之间从属关系的一致性。
- 使用对象的懒加载、部分未来具现化(faulting),和写时拷贝(copy-on-write)数据共享,用以降低资源消耗。
- 自动化属性值验证。托管的对象扩展了标准的KVC验证方法,来保证设置的值是在接受范围之内的,能使值绑定是有效的。
- 数据库对象集合(schema)迁移工具简化了模式更新,允许你进行高效的就地模式迁移。
- 能够支持用户界面的同步的应用控制器层集成功能。
- 在内存和用户界面分组、过滤和组织数据。
- 自动化支持来自外部数据的存储对象。
- 先进的查询操作。不用编写SQL,使用查询请求(Fetch Request)绑定一个断言对象(NSPredicate),你就可以创建复杂的查询操作。
- 版本追踪和乐观锁支持自动化解决不同的编程设备冲突问题。
- 强大的OS X和iOS平台上的工具集合。