Swifaults
关于Swifaults
UserDefaults,一种通用的方法。
Swifaults
是围绕UserDefaults
的一个封装,利用泛型提供了一种类型安全、简单、清晰的接口。
示例
通常,当您想要将值保存到UserDefaults
时,您会这样做
let defaults = UserDefaults.standard
defaults.set("My value", for: "My key")
defaults.synchronize()
对于加载
let defaults = UserDefaults.standard
let value = defaults.string(forKey: "My key")
Swifaults
允许更清晰的用法。
对于保存
let defaults = Defaults<String>(key: "My key")
defaults.save("My value")
对于加载
let defaults = Defaults<String>(key: "My key")
let value = defaults.value() // value is a `String?`
您也可以提供默认值作为后备,以防该值不存在
enum UserState: Int {
case anonymous
case loggedIn
case premium
}
let defaults = Defaults<UserState>(key: "user.state")
let value = defaults.value(defaultValue: .anonymous)
甚至可以实现内联转换
let defaults = Defaults<Int>(key: "user.state.raw")
let value = def.value(defaultValue: .anonymous, { UserState(rawValue: $0) })
默认值还支持使用通过使用保存Encodable
和加载Decodable
try? defaults.saveEncodableValue(myEncodable)
let myDecodableObject = defaults.decodableValue()
简单。试试看。
安装
Swifaults可以通过CocoaPods获取。要安装,只需将以下行添加到您的Podfile中。
pod 'Swifaults'
作者
Oren Farhan
许可
Swifaults 遵循 MIT 许可协议。更多信息请参阅 LICENSE 文件。