title: NSManagedObjectContext(): `init()` was deprecated in iOS 9.0: Use -initWithConcurrencyType
body: <p>I was working through <a href="http://siki.io/core-data-stack/" rel="noreferrer">Core Data Stack in Swift - Demystified</a> but when I got to the line</p>
  
  <pre><code>self.context = NSManagedObjectContext()
  </code></pre>
  
  <p>I got the warning</p>
  
  <pre><code>`init()` was deprecated in iOS 9.0: Use -initWithConcurrencyType: instead
  </code></pre>
  
  <p>I see that I can do one of the following for <code>self.context =</code></p>
  
  <pre><code>NSManagedObjectContext(concurrencyType: NSManagedObjectContextConcurrencyType.ConfinementConcurrencyType)
  NSManagedObjectContext(concurrencyType: NSManagedObjectContextConcurrencyType.MainQueueConcurrencyType)
  NSManagedObjectContext(concurrencyType: NSManagedObjectContextConcurrencyType.PrivateQueueConcurrencyType)
  </code></pre>
  
  <p>but since <code>ConfinementConcurrencyType</code> is also deprecated now that leaves me <code>MainQueueConcurrencyType</code> and <code>PrivateQueueConcurrencyType</code>. What is the difference between these two and how should I choose which one to use? I read <a href="https://developer.apple.com/library/mac/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/index.html" rel="noreferrer">this documentation</a>, but I didn't really understand.</p>