skyofdwarf / DefaultsWrapper

A try to use custom DefaultsKeys with SwiftyUserDefaults.Defaults

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DefaultsWrapper

A try to use custom DefaultsKeys with SwiftyUserDefaults.Defaults

// default keys
extension DefaultsKeys {
    static var defaultValue: DefaultsKey<String> { .init("defaultValue", defaultValue: "x") }
    static var defaultOptionalValue: DefaultsKey<String?> { .init("defaultOptionalValue") }
}

// custom keys
extension GroupDefaultsKey {
    static var groupDefaultValue: GroupDefaultsKey<String> { .init("groupDefaultValue", defaultValue: "x") }
    static var groupOptionalDefaultValue: GroupDefaultsKey<String?> { .init("groupOptionalDefaultValue") }
}

// override SwiftyUserDefaults.Defaults
let Defaults = DefaultsWrapper.shared

// use `Defaults` as usually do
Defaults[.defaultValue] = "d"
Defaults[.defaultOptionalValue] = "od"
Defaults[.defaultOptionalValue] = nil
Defaults[.defaultOptionalValue] = "odx"

Defaults[.groupDefaultValue] = "g"
Defaults[.groupOptionalDefaultValue] = "og"
Defaults[.groupOptionalDefaultValue] = nil
Defaults[.groupOptionalDefaultValue] = "ogx"

About

A try to use custom DefaultsKeys with SwiftyUserDefaults.Defaults


Languages

Language:C 51.4%Language:Swift 47.5%Language:Objective-C 1.2%