I have 3 UIViewController for 3 different XIB windows that gets pushed in by the navigationController. There is a button on the second page that when pressed pushes the 3rd pushViewController. When that button is pressed it also goes to a website and downloads a list of names to populate an UITableView. My Question: When the program launches that would be the ideal time to load the names from the server and store as strings in an NSArray, not when the button is pressed on the second page. How would the secondViewController access the information on the firstViewController Instance variables? If secondViewController was a subclass of firstViewController I could gain access to that instance variable values, correct? Then the firstViewController would be subclassed from UIViewController. This way all of my viewControllers first, second and third would inhearit from UIViewController? This would link all of the controllers together and I could use any instance variables from each super class which I could get information from that variables? Is my thinking there right?