The Root Navigation Controller can serve as a data model. Each View Controller connected to the Navigation Controller via push segue can access its properties like so:
((MyNavController *)self.parentViewController).mySourceProperty
Here’s an example. MyNavController is the class for the Navigation Controller. This snipped is called from any View Controller in sequence and assumes we have an integer myNumber which is increased by one:
((MyNavController *)self.parentViewController).myNumber++;
The same principle works for Tab Bar Controllers too.