从 UserDefaults 获取数据

2024 年 8 月 29 日 | 阅读 3 分钟

从 UserDefaults 获取数据非常简单。 以下方法用作 UserDefaults 中的获取方法。

序号方法描述
1func object(forKey: String) -> Any?它返回与指定键关联的对象。
2func url(forKey: String) -> URL?它返回与指定键关联的 URL。
3func array(forKey: String) -> [Any]?它返回与指定键关联的数组。
4func dictionary(forKey: String) -> [String : Any]?它返回与指定键关联的字典。
5func string(forKey: String) -> String?它返回与指定键关联的字符串。
6func stringArray(forKey: String) -> [String]?它返回与指定键关联的字符串数组。
7func data(forKey: String) -> Data?它返回与指定键关联的二进制数据。
8func bool(forKey: String) -> Bool它返回与指定键关联的布尔值。
9func integer(forKey: String) -> Int它返回与指定键关联的整数值。
10func float(forKey: String) -> Float它返回与指定键关联的浮点值。
11func double(forKey: String) -> Double它返回与指定键关联的双精度值。
12func dictionaryRepresentation() -> [String : Any]它返回 UserDefaults 的字典表示。

由于 UserDefaults 使用数据类型来检索与键关联的存储值。 但是,指定键的值可能不存在。 因此,我们需要在使用可选绑定时从 UserDefaults 检索该值。

在实时项目中,我们在单例 Shared Preference 类中使用 UserDefaults。 让我们考虑以下示例,在其中我们创建一个显式的 SharedPreferenceManager 类,并将所有与用户默认设置相关的代码放在那里。

SharedPreferenceManager.swift

ViewController.swift

SharedPreferenceManager 类可以在实时项目中使用,我们在其中可以放置所有用于保存和检索 UserDefaults 值的设置和获取方法。

在哪里使用 UserDefaults

UserDefaults 主要用于存储简单的少量数据。 但是,如果我们需要存储相同类型的多个对象,最好使用实际的数据库,例如 CoreData 或 SQLite。 数据库设计是您的应用程序架构的一个重要方面。 我们将在本教程的下一部分学习 CoreData。

使用 UserDefaults 的用例

  1. 我们可以将用户信息(例如姓名、电子邮件地址、年龄或职业)存储在 UserDefaults 中。
  2. 我们可以存储导航标志,可以在 AppDelegate 中进行检查,用户将根据保存在 UserDefaults 中的标志进行导航。
  3. 应用程序设置(如界面语言、颜色主题等)可以存储在 UserDefaults 中。
  4. 我们可以在 UserDefaults 中存储用户访问令牌。

下一主题CoreData