There’s a lot of great material in the community covering almost every aspect of the Combine framework, but sadly Combine’s
Scheduler protocol hasn’t gotten much attention. It’s a pretty mysterious protocol, and Apple does not provide much documentation about it, but it is incredibly powerful and can allow one to test how time flows through complex publishers.
In the last part of our four-part tour of the Composable Architecture we demonstrate how to use the
TestScheduler developed in this section to test a complex effect in a precise way.
Combine schedulers turn out to be the perfect tool for animating asynchronous effects. In this series of episodes we introduce an “animated” scheduler that solves a real problem in the Composable Architecture and improves the ergonomics of scheduling animations in vanilla SwiftUI.