这是我的属性包装器:
@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) }
}
}
这个变量 snapStatus 应该有一个布尔值,对吧?
@UserDefaultsBacked(key: "snap-is-enabled", defaultValue: false)
var snapStatus: Bool
但是编译器会抛出一个错误:
无法将“UserDefaultsBacked”类型的值转换为指定类型“Bool”
我做错了吗?