AppDefaults

struct AppDefaults<Struct> where Struct : Decodable, Struct : Encodable

Utility for saving to and restoring from UserDefaults.standard arbitrary structs

Usage examples (given struct ProgLang: Codable):

  1. try to get setting value from AppDefaults if let val = AppDefaults.setting(for: prefLangKey) { // ok, can use the non-nil value }
  2. try to save a setting to AppDefaults if AppDefaults.set(prefLang, forKey: prefLangKey) { // ok, saved successfully }
  3. remove setting from AppDefaults

    AppDefaults<ProgLang>.remove(forKey: prefLangKey)
    
  • Look up the value for the setting key in

    Declaration

    Swift

    static func setting(for key: String) -> Struct?

    Parameters

    key

    setting key

    Return Value

    setting value (nil if absent from UserDefaults.standard)

  • Save the value in UserDefaults.standard

    Declaration

    Swift

    static func set(_ value: Struct, forKey key: String) -> Bool

    Parameters

    value

    to save in UserDefaults

    key

    setting key

    Return Value

    true if successful

  • Remove the setting for key from UserDefaults.standard

    Declaration

    Swift

    static func remove(forKey key: String)

    Parameters

    key

    setting key