13.1 存储和读取基本数据类型
UserDefaults 是一个方便的工具,用于在 iOS 应用中存储和检索少量数据。它特别适合存储用户偏好设置、应用配置和其他简单的数据类型。让我们一起探索如何使用它来存储和读取基本数据类型!🚀
存储基本数据类型
UserDefaults 允许你存储各种基本数据类型,包括:
- 整数 (Int):存储整数值,例如
10、-5或1000。 - 浮点数 (Float):存储单精度浮点数值,例如
3.14或-2.718。 - 双精度浮点数 (Double):存储双精度浮点数值,提供更高的精度,例如
3.14159265359。 - 布尔值 (Bool):存储
true或false值,用于表示开关状态或条件。 - 字符串 (String):存储文本数据,例如
"Hello, World!"。 - URL (URL):存储文件或网络资源的 URL。
- 日期 (Date):存储日期和时间信息。
要存储这些类型的数据,你需要使用 UserDefaults.standard.set(_:forKey:) 方法。例如,要存储一个整数:
swift
let age = 30
UserDefaults.standard.set(age, forKey: "userAge")读取基本数据类型
读取存储的数据同样简单!你需要使用与存储类型相对应的 UserDefaults.standard.value(forKey:) 方法。例如,要读取之前存储的整数:
swift
let storedAge = UserDefaults.standard.integer(forKey: "userAge")
print("用户年龄是:\(storedAge)") // 输出:用户年龄是:30注意,你需要使用正确的类型方法来读取数据。例如,使用 integer(forKey:) 读取整数,string(forKey:) 读取字符串,依此类推。
默认值
当你尝试读取一个不存在的键时,UserDefaults 会返回一个默认值。对于不同的类型,默认值如下:
- Int: 0
- Float: 0.0
- Double: 0.0
- Bool:
false - String:
nil - URL:
nil - Date:
nil
你可以利用这个特性来简化代码,避免不必要的 nil 检查。
示例:存储和读取用户偏好设置
假设你要存储用户的应用主题偏好设置(亮色或暗色)。你可以使用布尔值来表示:
swift
// 存储用户偏好设置
let isDarkModeEnabled = true
UserDefaults.standard.set(isDarkModeEnabled, forKey: "darkModeEnabled")
// 读取用户偏好设置
let darkMode = UserDefaults.standard.bool(forKey: "darkModeEnabled")
if darkMode {
print("启用暗色模式") // 输出:启用暗色模式
} else {
print("启用亮色模式")
}UserDefaults 是一个非常实用的工具,可以帮助你轻松管理应用中的简单数据。记住,它适用于少量数据,对于更复杂的数据存储需求,你应该考虑使用 Core Data 或其他数据库解决方案。🎉