Apologies if this question reveals the big holes in my knowledge.
I am using setRootViewController to switch views because I need to use a SplitViewController. When I go back to the front screen using setRootViewController will the OS/Compiler automatically remove the previous RootViewController from memory in dealloc, or do I need to do that in my goBack function?
Yes, because there can be only one root view controller per window, and because the window retains it. When a new view controller is assigned as root, it is retained and the old one is released.