UserDefaults
extension UserDefaults
Usage examples
// declare a struct to be saved to / restored from UserDefaults
struct Language: Codable, Equatable {
var name: String
var version: String
}
let defaults = UserDefaults.standard
let languageKey = "defaultLanguage"
// create an instance
let testLanguage = Language(name: "Swift", version: "4")
// save in defaults
defaults.set(value: testLanguage, forKey: languageKey)
// restore from defaults should succeed
if let language: Language = defaults.get(forKey: languageKey) {
// use the value found in defaults
} else {
// did not find it in defaults
}
// remove from defaults
defaults.remove(forKey: languageKey)
// restore from defaults should fail
if let language: Language = defaults.get(forKey: languageKey) {
// it won't get here after we removed the value from defaults
}
-
Save the value in defaults at key
Declaration
Swift
func set<AStruct>(value: AStruct, forKey key: String) where AStruct : Decodable, AStruct : EncodableParameters
valuevalue to be saved
keytarget key
-
Recover a value from defaults at key
Declaration
Swift
func get<AStruct>(forKey key: String) -> AStruct? where AStruct : Decodable, AStruct : EncodableParameters
keytarget key
Return Value
value or nil (if not found)
-
Remove a value if any at the key in defaults
Declaration
Swift
func remove(forKey key: String)Parameters
keytarget key
UserDefaults Extension Reference