Making UserDefaults great (again?)
Help you to store Codable Objects within UserDefaults.
Just define your properties and UserDefaultsEx will take care of the encoding and decoding process.
.package(url: "https://github.com/v-braun/UserDefaultsEx", from: "1.0.0")
struct TestSetting : Codable{
var prop1 = ""
var prop2 = ""
}
extension UserDefaults{
@JsonUserDefault(storeIn: UserDefaults.standard, withKey: "mySettings", defaults: TestSetting())
static var mySettings : TestSetting
}
// somewhere:
let settings = UserDefaults.mySettings // will read the settings
settings.prop1 = "hello"
settings.prop2 = "world"
UserDefaults.mySettings = settings // will write the settings
Make sure to read these guides before getting started:
UserDefaultsEx is available under the MIT License. See LICENSE for details.