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.