title: Why should we copy blocks rather than retain?
body: <p>I recently met a problem using blocks with Facebook's app switching. I needed to call a block after the Facebook login.</p>
  
  <p>First my block was destroyed when the app switched back ('cause it was on the stack), so I decided to retain it. But that didn't work, and I messed with that problem :/. I found a solution on <a href="http://pragmaticstudio.com/blog/2010/9/15/ios4-blocks-2" rel="nofollow noreferrer">that blog</a> and also <a href="https://stackoverflow.com/questions/6065963/do-i-have-to-retain-blocks-in-objective-c-for-ios">here</a>.</p>
  
  <p>My question is simply : <strong>why copy works and retain does not</strong> ?</p>