Here is my property wrapper:
@propertyWrapper struct UserDefaultsBacked<Value> {
let key: String
let storage: UserDefaults = .standard
var defaultValue: Value
var wrappedValue: Value? {
get {
let value = storage.value(forKey: key) as? Value
return value ?? defaultValue
}
set { storage.setValue(newValue, forKey: key) }
}
}
And this variable, snapStatus, is supposed to have a boolean value, right?
@UserDefaultsBacked(key: "snap-is-enabled", defaultValue: false)
var snapStatus: Bool
But compiler throws an error:
Cannot convert value of type 'UserDefaultsBacked' to specified type 'Bool'
Am I doing it the wrong way?