title: Alternative to a singleton implementation in Swift?
body: <p>I'm working on an app which has a ContentManager class.  This class migrates files from the bundle, and performs other checks when the app is first opened.  It's next used in a ViewController at the end of a rather long chain of ViewControllers.  As far as I can tell, there are two methods of implementing this:</p>
  
  <ol>
  <li><p>Instantiate the class in the first ViewController, and pass it through the segues to the final ViewController.  </p></li>
  <li><p>Create a singleton sharedInstance in the first ViewController and access it where needed using that sharedInstance.</p></li>
  </ol>
  
  <p>It seems a lot cleaner and simpler to create the singleton.  However, I've read a lot about how singletons are bad.  I'm wondering if I'm missing some alternative way of doing this without using a singleton or messily passing the instance through all the view controllers?  </p>
  
  <p>Many thanks</p>