当前位置: 首页 > 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.lryc.cn/news/484119.html

相关文章:

  • 代码随想录第二十四天| 93.复原IP地址 78.子集 90.子集II
  • Linux编程:基于 Unix Domain Socket 的进程/线程间通信实时性优化
  • PET-文件包含-FINISHED
  • 《WebGL编程指南》书籍分享
  • go T 泛型
  • React的基础API介绍(二)
  • 远程开发测试必看:如何在群晖NAS上运行网页版Ubuntu
  • JAVA题目笔记(十五)经典算法题
  • 「Mac玩转仓颉内测版8」入门篇8 - Cangjie函数与方法
  • 2024最新版JavaScript逆向爬虫教程-------基础篇之Proxy与Reflect详解
  • 代码修改材质参数
  • [C++11] 包装器 : function 与 bind 的原理及使用
  • java项目-jenkins任务的创建和执行
  • 单片机中的BootLoader(重要的概念讲解)
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • 优选算法 - 1 ( 双指针 移动窗口 8000 字详解 )
  • FairyGUI和Unity联动(入门篇)
  • Go:文件输入输出以及json解析
  • 编写红绿起爆线指标(附带源码下载)
  • 设计模式(四)装饰器模式与命令模式
  • Android11 修改系统语言
  • vue3 查看word pdf excel文件
  • java八股-垃圾回收机制-垃圾回收算法,分代回收,垃圾回收器
  • iSCSI 和FC的概述
  • 一文了解Android中的AudioFlinger
  • 超全面!一文带你快速入门HTML,CSS和JavaScript!
  • C语言 | Leetcode C语言题解之第557题反转字符串中的单词III
  • 408笔记合集
  • 智慧医疗:纹理特征VS卷积特征
  • OPC学习笔记