A Property Wrapper for User Defaults
Tuesday, 22 July 2025
Swift 5.1 introduces a new
@propertyWrapper
public final class UserDefault<Value> {
private let defaults: UserDefaults
private let key: UserDefaults.Key<Value>
public init(_ key: UserDefaults.Key<Value>,
defaults: UserDefaults = .standard) {
self.key = key
self.defaults = defaults
}
public var wrappedValue: Value {
get { defaults.value(for: key) }
set { defaults.set(newValue, for: key) }
}
}