DictionaryDecoder
一种用于将 Codable
类型序列化和反序列化为 [String: Any]
及 UserDefaults
的 Swift 库。
使用方法
struct Person: Codable {
var name: String
var age: Int
}
// Decode from [String: Any]
let person = try DictionaryDecoder().decode(
Person.self,
from: ["name": "Herbert", "age": 99]
)
// Encode to [String: Any]
let dict = try DictionaryEncoder().encode(person)
UserDefaults
在 UserDefaults 中存储和检索任何 Codable
类型。
let person = Person(name: "Herbert", age: 99)
// Persist values
try UserDefaults.standard.encode(person, forKey: "owner")
// Retrieve values
let owner = try UserDefaults.standard.decode(Person.self, forKey: "owner")
类型以友好的 [String: Any]
表示形式持久化;
let defaults = UserDefaults.standard.dictionaryRepresentation()
let owner = defaults["owner"]
// owner == ["name": "Herbert", "age": 99]