Issue #726
@propertyWrapper
struct UserDefault<Value> {
    let key: String
    let defaultValue: Value
    let container: UserDefaults = .standard
    var wrappedValue: Value {
        get {
            return container.object(forKey: key) as? Value ?? defaultValue
        }
        set {
            container.set(newValue, forKey: key)
        }
    }
}
Then we can use it as property and provide default value
final class KeepHistoryService {
    @UserDefault(key: "keepHistoryCheckDate", defaultValue: nil)
    var checkDate: Date?
Start the conversation