Controller Hierarchies
Occasionally an activity within your app requires multiple screens. Consider uploading a photo to Instagram: pick a photo, pick the filter, and add a description. When the user taps a photo in the first screen, it might look like:
func userDidPickPhoto(_ photo:Photo){
let filter = FilterViewController()
filter.photo = photo
navigationController?