title: When do I need to copy a block?
body: <p>I don't really know when do I need to copy a block.<br>
  The documentation says <code>when you expect the block to be used after destruction of the scope within which it was declared</code>.  </p>
  
  <p>Do I need to copy it when I'm using them as callback methods for example? By copy I mean creating a copy property for my block and saving the block there or somehow sending a copy message. The scope is probably destroyed when a download or something similar is finished. So do I need to copy the block in that case? Can I create circular references this way?  </p>
  
  <p>Right now I have a downloader class (to test blocks only, it's too dangerous for me to use it yet) that uses a completion block and when I copy the block the view controller that created the block and the downloader class is not released.  </p>
  
  <p>Can you give me some good examples especially using them for finishing async operations like file downloads?</p>
  
  <p>Thanks.</p>