This is because self?.newContent = Variable(true) replaces newContent with a completely new Variable , after which you have already subscribed to the original here:
self.newContentStream = viewModel.newContent.asObservable() self.newContentStream!.subscribeNext { ......
This subscription in your UIView now listens for an Observable , in which no one is going to send a Next event.
Instead, you should send the Next event to the current (and only) newContent Variable / Observable :
self?.newContent.value = true
You can fix this and continue to use the call to newContent Variable and reloadData , however I would not recommend doing it like this. Instead, check out RxDataSources .
source share