title: ASIHTTPRequest / ASIFormDataRequest - referencing request object within blocks under ARC
body: <p>Very similar to <a href="https://stackoverflow.com/questions/7205128/fix-warning-capturing-an-object-strongly-in-this-block-is-likely-to-lead-to-a">this question</a>, I am trying to convert a project that uses <code>ASIHTTPRequest</code> &amp; <code>ASIFormDataRequest</code> to ARC. </p>
  
  <p>In my view controller classes, I often refer to and use properties of the <code>request</code> object in the completion blocks (looking at the response code, response data etc):</p>
  
  <pre><code>__block  ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:SOME_URL]];    
  [request setCompletionBlock:^{   
  
      if([request responseStatusCode] == 200) ....etc
  </code></pre>
  
  <p>When converting to ARC I get the warning:</p>
  
  <blockquote>
    <p>Capturing 'request' strongly in this block is likely to lead to a
    retain cycle</p>
  </blockquote>
  
  <p>What is the proper way to do this? </p>
  
  <p>Another SO user notes in the previous thread that simply adding <code>__weak</code> may cause the request to be released before the completion of the block, which I believe to be true.</p>
  
  <p>How can I properly reference these properties in completion/failure blocks under ARC?</p>