SettingsViewModel.swift 584 B

12345678910111213141516171819
  1. import SwiftUI
  2. extension Settings {
  3. class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: SettingsProvider {
  4. @Injected() private var settingsManager: SettingsManager!
  5. @Published var closedLoop = false
  6. override func subscribe() {
  7. closedLoop = settingsManager.settings.closedLoop
  8. $closedLoop
  9. .removeDuplicates()
  10. .sink { [weak self] value in
  11. self?.settingsManager.settings.closedLoop = value
  12. }.store(in: &lifetime)
  13. }
  14. }
  15. }