Swifaults 1.0.0

Swifaults 1.0.0

Oren Farhan维护。



Swifaults 1.0.0

Swifaults

Version License Platform

关于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 文件。