从一开始,我就一直在学习 Rxswift 并将其应用到一个项目中。我希望你的帮助对一个概念更加放心。
我了解 UI 中的更改应该在 Mainscheduler 上执行.observeOn(MainSchedule…,如果您不使用Drivers.
我的疑问是:通常,我应该在执行网络请求时显式切换到后台线程吗?.
我还没有找到很多关于这一点的文献,但我已经阅读了一些项目代码,其中大多数没有,但有一些是。那些最终使用Drivers或.observeOn(MainSchedule…在 UI 上进行更改。
例如,在https://www.thedroidsonroids.com/blog/rxswift-examples-4-multithreading 中,他说
So as you may guessed, in fact everything we did was done on a MainScheduler. Why? Because our chain starts from searchBar.rx_text and this one is guaranteed to be on MainScheduler. And because everything else is by default on current scheduler – well our UI thread may get overwhelmed. How to prevent that? Switch …