title: iOS Swift: Closures (Callbacks) versus Delegates, when to use which?
body: <p>Personally I prefer callback over delegate in Swift for simple logical correlations, because it's pretty straight-forward and easy to understand. At the same time, some prefers delegate, since delegation is a popular pattern in other languages, such as C#. </p>
  
  <p>There are some discussions I found online:</p>
  
  <p><strong>1. "Why you shouldn't use delegates in Swift?"</strong>
  <a href="https://medium.cobeisfresh.com/why-you-shouldn-t-use-delegates-in-swift-7ef808a7f16b#.hqb7zrc1v" rel="noreferrer">https://medium.cobeisfresh.com/why-you-shouldn-t-use-delegates-in-swift-7ef808a7f16b#.hqb7zrc1v</a></p>
  
  <p><strong>2. Apple is shifting its focus more on the callback pattern</strong>
  <a href="https://www.reddit.com/r/swift/comments/2ces1q/closures_vs_delegates/" rel="noreferrer">https://www.reddit.com/r/swift/comments/2ces1q/closures_vs_delegates/</a></p>
  
  <p><strong>3. blocks or delegates?</strong> 
  <a href="http://blog.stablekernel.com/blocks-or-delegates/" rel="noreferrer">http://blog.stablekernel.com/blocks-or-delegates/</a></p>
  
  <p>After reading these discussions, I am still undecided on the preference.
  I would like to know when is better to use closures and when is better to use delegates? and reasons?</p>
  
  <p>Thanks!</p>