Manage a transition queue
mainSimilar to the screen queue, you can add transitions to a queue to trigger them later. This is useful for complex, multi-step view changes that aren't full segues.
Transition Queue Operations:
addTransitionToQueue(transition:): Adds a single transition to the queue.addTransitionsToQueue(transitions:): Adds multiple transitions to the queue.showNextTransition(): Triggers the first transition in the queue if available.tryShowNextTransition(): Same as above, but throws an error if the queue is empty.removeTransitionFromQueue(id:): Removes a specific transition from the queue.removeTransitionsFromQueue(ids:): Removes multiple specific transitions from the queue.removeAllTransitionsFromQueue(): Clears the entire queue.
Convenience Method:
showNextTransitionOrNextScreenOrDismissScreen(): Triggers the next transition; if none, triggers the next screen; if neither, dismisses the screen.
router.addTransitionToQueue(transition: screen1)
router.addTransitionsToQueue(transitions: [screen1, screen2])
// Trigger next
router.showNextTransition()
do {
try router.tryShowNextTransition()
} catch {
// Handle error
}
router.removeTransitionFromQueue(id: "x")
router.removeAllTransitionsFromQueue()
// Convenience
router.showNextTransitionOrNextScreenOrDismissScreen()