Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @propertyWrapper
- struct UserDefault<T> {
- let key: String
- let defaultValue: T
- let userDefaults: UserDefaults
- init(_ key: String,
- defaultValue: T,
- userDefaults: UserDefaults) {
- self.key = key
- self.defaultValue = defaultValue
- self.userDefaults = userDefaults
- }
- var value: T {
- get {
- return userDefaults.object(forKey: key) as? T ?? defaultValue
- }
- set {
- userDefaults.set(newValue, forKey: key)
- }
- }
- }
- struct UserDefaultsConfig {
- @UserDefault var x: Bool
- init(defaults: UserDefaults = .standard) {
- self.$x = UserDefault("FOO_FEATURE_ENABLED", defaultValue: false, userDefaults: defaults)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement