以配置信息(UserDefaults)的形式存储应用数据

存储配置信息,可以使用 UserDefaults,这是一种最简单的储存数据的方法,适合用来储存轻量级的数据,UserDefaults 支持储存的数据类型只有 DataStringNumberDateArray 和 Dictionary 这几种。

声明:笔者自身对 UserDefaults 也是初学,而本文介绍的 UserDefaults 知识也都是自己的一些理解,同时尽量不涉及过于原理性的内容,一切以普通工程师实用为目标原则。其中可以想象在很多地方会有理解的错误,还请多包涵。如您发现问题,也往不吝赐教指正,感激不尽。

储存

储存值为「Hello」的字符串:

UserDefaults.standard.set("Hello", forKey: "helloString")

而如果准备将储存的数据在主程序(Container)和其他扩展(Extensions)之间传递,则需要在 UserDefaults 中添加 Group 字符串:

UserDefaults.init(suiteName: "group.com.xxx.xxx")?.set("hello", forKey: "helloString")

加载

加载 Key 值为「helloString」的数据:

let helloStr = UserDefaulte.standard.object(forKey: "helloString")

print(helloStr)
// Output: Hello

同样在其他扩展(Extensions)中,也需要添加 Group 字符串,才能加载相应数据。

let helloString = UserDefaults.init(suiteName: "group.com.xxx.xxx")?.value(forKey: "helloString")

print(helloStr)
// Output: Hello