¿Cómo unwindForSegue: towardsViewController: funciona?

En mi aplicación simple, he creado algunos controlleres con segues básicos entre ellos:

Controlador amarillo -> BlueController -> GreenController -> OrangeController . Cada uno de ellos tiene su propia class personalizada.

Desde OrangeController he creado unwindSegue a mi YellowController . Está bien.

Dentro de cada class pongo:

override func unwindForSegue(unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) { print(unwindSegue) print(subsequentVC) } 

Pero no fue llamado en absoluto. ¿Por qué? ¿Qué demo debo preparar para probar esta funcionalidad?

Lo mismo es con:

 func allowedChildViewControllersForUnwindingFromSource(source: UIStoryboardUnwindSegueSource) -> [UIViewController] func childViewControllerContainingSegueSource(source: UIStoryboardUnwindSegueSource) -> UIViewController? 

Implementar el método con IBAction returnType

 -(IBAction) unwindForSegue:(nonnull UIStoryboardSegue *)unwindSegue towardsViewController:(nonnull UIViewController *)subsequentVC 

En Storyboard , vincule el control (que es responsable de la acción de retroceso) a la acción de salida en el control de la vista. introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí