During the use of my app, the user should be able to start, stop, forward background music. (Across several UIViewControllers). For this, I made my MusicPlayer a singleton (
If you use a container view controller (e.g. UINavigationController), you then have all the view controllers switching between one another, and on top of the container you can add your MusicPlayer controls (easiest way would be for it to have the same parent as the navigation controller), that way it's created only once and it doesn't depend on what views are displayed under it.