iOS-Clean-Architecture-MVVM icon indicating copy to clipboard operation
iOS-Clean-Architecture-MVVM copied to clipboard

Observer class does not stop listening when remove is called.

Open 1garipdeveloper opened this issue 11 months ago • 0 comments

I create the observer in my ViewModel as follows:

let testObserver: Observable<Bool?> = Observable(.none)

And in my ViewController:

override func viewDidLoad() {
    self.viewModel.testObserver.observe(on: self) { [weak self] _ in
        self?.testObserver()
    }
    self.viewModel.testObserver.remove(observer: self)
    self.viewModel.testObserver.value = false
}

private func testObserver() {
    print("testObserver")
}

Despite calling remove(observer:), the observer continues to listen and triggers the testObserver() function.

1garipdeveloper avatar Dec 04 '24 13:12 1garipdeveloper