DictionaryDecoder 0.24.0

DictionaryDecoder 0.24.0

Simon Whitty 维护。



  • Simon Whitty

Build CodeCov Swift 5.8 License Twitter

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]