实用核心数据
Practical Core Data
关于本书
Practical Core Data 是一本由 Donny Wals 撰写的书,面向想要了解更多关于 Apple Core Data 框架的中级到高级开发人员。无论你是 Core Data 的新手,还是多年前尝试过 Core Data 的老手,你都会发现这本书将带你踏上这个框架的旅程。从 iOS 13 的 NSPersistentContainer 一直到 CloudKit 同步、迁移和单元测试等功能。你将在这本书中看到这一切。
实用核心数据向您介绍所有基本思想、概念和原则,以帮助您尽快启动并运行该框架。
本章概述
第 1 章 – 使用 Core Data 迈出第一步
在本章中,您将首先了解 Core Data。您将了解什么是核心数据,它可以做什么以及如何使用它。您将被介绍到一个简单的项目,该项目使用 Core Data 来创建、更新和删除一个非常基本的模型。本章将介绍 Core Data 的模型编辑器以及封装 Core Data 所有基本构建块的“NSPersistentContainer”类。在本章结束时,您应该对使用 Core Data 的应用程序的外观、功能以及如何将 Core Data 添加到项目中有一个大致的了解。
第 2 章 – 了解核心数据的构建块
在开始在应用程序中使用 Core Data 之前,了解 Core Data 的一些基本构建块非常重要。在本章中,您将了解“NSPersistentContainer”中有哪些组件,以及每个组件的角色。您将了解“NSPersistentStoreCoordinator”、“NSManagedObjectModel”和“NSManagedObjectContext”等类。
第 3 章 – 使用模型编辑器定义实体
Core Data 的模型编辑器是将 Core Data 添加到任何项目的起点。您可以在其中定义要存储的实体、它们的关系、它们的属性等。本章将深入介绍模型编辑器。您将了解实体、关系、获取请求、瞬态属性、约束、模型版本等等。在本章结束时,您将对模型编辑器以及如何使用它来定义数据模型有深入的了解。
第 4 章 – 从核心数据存储中获取和显示数据
为应用程序定义数据模型后,您需要在应用程序中使用此模型。在本章中,您将学习如何使用谓词从核心数据存储中检索数据来筛选数据。您还将了解如何使用“NSFetchedResultsController”自动响应核心数据存储中的更改。除了了解有关检索数据的详细信息外,您还将了解故障、批量删除和更新请求、合并策略和查询生成。在本章结束时,您应该对如何操作存储在 Core Data 存储中的数据有了相当深入的了解。
第 5 章 – 在多线程环境中使用核心数据
在前四章中,您已经在一个简单的单线程环境中使用了 Core Data。您仅通过持久容器的“viewContext”与主托管对象上下文进行交互。在本章中,您将了解 Core Data 严格的多线程规则和背景上下文。您将学习如何安全地将托管对象从一个上下文传输到另一个上下文,如何解决上下文之间的保存冲突,以及如何在正确的托管对象上下文中安全地运行 Core Data 代码。在本章结束时,您将能够优化 Core Data 代码,以充分利用线程,并始终防止阻塞主线程。
第 6 章 – 与应用和扩展共享核心数据存储
许多应用程序利用 iOS 的扩展系统来构建小部件、交互式通知、共享功能、iMessage 应用程序等。如果您的应用使用 Core Data,则通常希望这些扩展能够访问您的 Core Data 存储,并可以在需要时进行修改。在本章中,您将学习如何做到这一点。您还将了解如何使用 Core Data 的持久历史记录跟踪功能自动提取某个扩展对 Core Data 存储所做的任何修改。
第 7 章 – 将商店与远程数据源同步
Core Data 的常见用途是本地保存通过网络访问的服务器上也存在的数据。这样做可以显著提高应用程序的速度和离线体验,因为您不需要依赖网络来处理视图所需的每条数据。在本章中,我将演示如何构建使用“Codable”协议和 Core Data 的内置合并策略的同步策略。在向您展示基本的单向同步策略之后,我将向您展示一种更高级的双向同步策略,该策略允许用户在脱机时对记录进行修改。然后,当用户重新联机时,这些修改将推送到远程数据源。
第 8 章 – 将商店与 CloudKit 同步
在 iOS 13 中,Apple 为开发人员引入了一种便捷的方式,可以毫不费力地将他们的本地 Core Data 存储与远程 CloudKit 存储同步。此功能允许用户在他们的设备之间同步数据,而 Core Data 可以自行完成所有艰苦的工作。在本章中,您将学习如何利用此功能,以及如何将数据写入 CloudKit 的私有和公共存储
第 9 章 – 更新数据模型并执行迁移
本章介绍了您需要了解的有关更新核心数据模型的所有信息。您将了解 Core Data 的自动迁移、模型映射、模型版本等。在了解了自动迁移的基础知识后,您将了解如何编写自己的模型映射。最重要的是,您将学习如何通过从头开始编写自己的迁移逻辑来完全控制 Core Data 的迁移过程。
第 10 章 – 调试和分析核心数据实现
了解如何在项目中使用和集成核心数据非常有用,但知道如何分析和调试它可能是使代码从优秀到卓越的关键。本章向您介绍了一些启动参数,您可以使用这些参数来深入了解 Core Data 在后台的作用,以及使用工具分析您的代码。您将学习如何使用从 Core Data 的日志记录和仪器中获得的信息来改进和优化您的 Core Data 代码和用户体验。
第 11 章 – 在单元测试中使用核心数据
我坚信,每个开发人员都应该尽可能地为他们的代码编写单元测试。在本章中,我将提供有关如何在单元测试中正确设置和使用核心数据存储的一些指导。这将允许你通过为每个单元测试设置一个单独的临时存储来单独编写单元测试,而不会相互干扰。
第 12 章 – 从这里何去何从?
本书应该为您在应用程序中成功实现 Core Data 做好准备。您在前几章中学习了 Core Data 的基础知识,并在后面的章节中继续学习更复杂的用例和概念。虽然我已经尽了最大努力来涵盖很多东西,但总有更多东西需要学习。在本章中,我将推荐一些文章、书籍和视频,如果你想在读完本书后了解更多关于核心数据的信息,我认为这些文章、书籍和视频是有用的。
评论(0)