Swift 中的 SharedPreferance —— UserDefaults

从 Android 开发又最终回到 iOS 了,好多东西都不知道。最近一直有需求要用一个类似 Android 的 SharedPreferance 的东西。找了一下资料,来总结一下。

它是什么

不会吧?不会还有人不知道 SharedPreferance 吧???

SharedPreferance 是一种轻量级的 Android 储存API, 用于储存简单的数据,数据多了就不如其他方式高效了。

iOS 中,起同样作用的东西,叫 UserDefaults

这两者都以 key-value 的形式存储。

使用场景

简单数据

简单数据

简单数据

复杂数据建议使用 SQLite 或者 Core Data,不建议作死。。。

Quick Start

直接上代码,里面注释我都写好了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
let defaults = UserDefaults.standard // 获取全局的 UserDefaults

defaults.set(Int.max, forKey: "int") // 存储
defaults.integer(forKey: "int") // 读取

defaults.set(true, forKey: "bool")
defaults.bool(forKey: "bool")

defaults.set(Double.infinity, forKey: "double")
defaults.double(forKey: "double")

defaults.set(Float.infinity, forKey: "float")
defaults.float(forKey: "float")

默认值

Float, Int, Double 的默认值都是 0;Bool 的默认值是 false。

更多

大家可以多在 Playgrounds 里面试试,还可以看看 Apple Developer Documentation