Adding Observables class

This commit is contained in:
2020-12-21 20:54:59 +01:00
committed by Patrick Müller
parent bdc3560668
commit f47674cdbb
5 changed files with 72 additions and 9 deletions
@@ -0,0 +1,25 @@
//
// LocalSettings.swift
// DHBW-Service
//
// Created by Patrick Müller on 21.12.20.
//
import Foundation
import Combine
private var cancellables = [String:AnyCancellable]()
extension Published {
init(wrappedValue defaultValue: Value, key: String) {
let value = UserDefaults.standard.object(forKey: key) as? Value ?? defaultValue
self.init(initialValue: value)
cancellables[key] = projectedValue.sink { val in
UserDefaults.standard.set(val, forKey: key)
}
}
}
class LocalSettings: ObservableObject {
@Published(wrappedValue: true, key: "IsFirstOpening") var isFirstOpening: Bool // To determine if the user is logged in
}