当前位置: 首页 > news >正文

SwiftUI 高级开发教程系列 - 第 3 章:数据持久化

在现代应用中,数据持久化是一项非常重要的功能,它使得应用的数据可以在重启后依然保留,提升用户体验。SwiftUI 提供了多种数据持久化方法,包括使用 UserDefaults 保存简单数据和 Core Data 进行更复杂的数据管理。本章将详细讲解这两种技术的用法,并展示如何在 SwiftUI 项目中进行持久化配置。

3.1 使用 UserDefaults 进行简单数据持久化

UserDefaults 是 iOS 系统内置的轻量级数据存储方案,适用于保存用户设置、开关状态等简单数据。以下示例展示了如何将应用的用户设置保存在 UserDefaults 中,并在重启后读取这些数据。

示例代码

假设我们希望保存用户的 “夜间模式” 设置,代码如下:

import SwiftUIstruct ContentView: View {@AppStorage("isDarkMode") private var isDarkMode: Bool = falsevar body: some View {VStack {Text("当前模式:\(isDarkMode ? "夜间模式" : "白天模式")").padding()Toggle("切换夜间模式", isOn: $isDarkMode).padding()}.preferredColorScheme(isDarkMode ? .dark : .light)}
}

注释:在这里,我们使用 @AppStorage 属性包装器将 isDarkMode 存储到 UserDefaults 中,确保数据在应用重启后依然存在。

@AppStorage 的工作原理

@AppStorage 是 SwiftUI 提供的包装器,它能够自动将变量绑定到 UserDefaults 中指定的键值。在应用启动时,会自动加载 UserDefaults 中的值并赋值给变量。

<

http://www.mrgr.cn/news/74995.html

相关文章:

  • KALI-sqlmap更新
  • 《实时流计算系统设计与实现》-Part 2-笔记
  • 18B电阻
  • golang使用etcd版本问题
  • 使用HAMi 进行gpu虚拟化
  • 线性代数(第四章:方程组)
  • 【Android】Android滑动冲突解决方案
  • 异构迁移常用SQL
  • 【Go 开发】pprof 排查问题流程:排查程序 CPU 占用高的问题
  • Android Mobile Network Settings | APN 菜单加载异常
  • 解密复杂系统:理论、模型与案例(3)
  • 计算机网络(7)
  • 山泽光纤HDMI线:铜线的隐藏力量
  • 《人类简史:从动物到上帝》读书笔记
  • Redhat7.9 安装 KingbaseES 金仓数据库 V9单机版(静默安装)
  • NFC批量写入网址、文本、应用app、蓝牙
  • 该如何升级Tableau server呢?
  • FastHTML快速入门: Cookies,Sessions,提示,认证和授权
  • 人机界面与人们常说的“触摸屏”有什么区别?这下终于清楚了
  • 谷歌浏览器扩展程序开发指南
  • Linux项目自动化构建工具—make与makefile
  • spring @Qualifier 注解解决依赖注入时类型相同但名称不同的 bean问题
  • window上 opencpn主要文件位置
  • JavaScript——DOM编程、JS的对象和JSON
  • VTK知识学习(8)-坐标系统
  • 18 为什么这些SQL语句逻辑相同,性能却差异巨大?