Skip to content
目录
公众号
扫一扫,及时获取最新内容
chicken-houseChickenHouse
一款为了在闲暇之余
可以关注基金而打造的浏览器插件

使用 Observable Object 进行存储

为了让用户能够控制哪些地标能被收藏,我们先要把地标数据存储在 observable object 中。

observable object 是数据的自定义对象,它可以从 SwiftUI 环境中的存储绑定到视图上。 SwiftUI 监视 observable object 的修改,并在修改后显示正确的视图内容。

数据驱动视图变化

第 1 步

在项目的导航器中,选择 ModelData.swift 文件。

第 2 步

引入 Combine 库,声明一个遵循 ObservableObject 协议的模型类型。

SwiftUI 会订阅你的 ObservableObject,并在数据变化时更新需要刷新的视图。

第 3 步

landmarks 的声明移到 ModelData 中。

ObservableObject 需要发布其数据的更改,以便其订阅者可以获取其更改。

第 4 步

landmarks 添加 @Published 属性。

使用 Observable Object 进行存储 has loaded