Core Data自学教程之 02 究竟什么是核心数据 (SwiftUI iOS macOS教程)

究竟什么是核心数据?

在我们建立我们的核心数据 基础设施并探索它的奇迹之前,我们必须从一个预计价值一百万美元的问题开始我们的旅程——核心数据是什么?

更多精品内容请访问《SwiftUI CloudKit CoreData数据存储》

根据苹果

使用 Core Data 保存应用程序的永久数据以供离线使用、缓存临时数据以及在单个设备上为应用程序添加撤消功能。要在单个 iCloud 帐户中跨多个设备同步数据,Core Data 会自动将您的模式镜像到 CloudKit 容器。 ——苹果文档

与许多开发人员的想法不同,Core Data不是“Sqlite3 包装器”或“Sqlite3 替代品”。当我们想到Sqlite3 包装器 时,我们通常会想象一种简化且更抽象的方式来处理 Sqlite3 查询和更新。

在Core Data 中,我们不使用“SELECT”查询来检索数据库表行,也不使用“UPDATE”来修改它们。

事实上,有些情况我们的商店甚至不是基于 Sqlite3 的,我们甚至都不知道。

有时,我们的 store 不是事件持久化的,因为 Core Data 首先是一个对象图管理器。

Core Data 与我们的应用模型 紧密相连 。如果 XIB、SwiftUI 或 Storyboards 是 MVC/MVVM 中的“V”,那么 Core Data 代表“M”(模型)。

核心数据开发者体验
就像我们的应用用户有“用户体验”一样,我们开发者也有自己的“开发者体验 ”。

我们来看下面的代码:

func reloadSongs() {
        let album = CoreDataManager.shared.getAlbum(byID albumID : "myAlbumID")
        self.title = album.title
        self.songs = album.songs
        tableView.reloadData()
 }

前面的代码看起来简单得离谱。我们从数据库中加载一个专辑对象,它已经有一个标题和一个歌曲列表。

现在,即使它看起来像一个理想的代码,它也不是一个伪代码。这就是 Core Data 实际使用的样子——获取标题,将“歌曲”连接到“专辑”,以及更多的事情都由 Core Data 框架处理。

精品教程推荐

加入我们一起学习SwiftUI

QQ:3365059189
SwiftUI技术交流QQ群:518696470
教程网站:www.openswiftui.com

发表回复