title: __block variables should be retained in a block
body: <p>I want to use the results array after performing the block, my question is, should the results array instance be retained because it was originated from a block?    </p>
  
  <pre><code>__block NSError *error = nil;    
  __block NSArray *results;
  
  [moc performBlockAndWait:^(void) {        
      results = [moc executeFetchRequest:fetchRequest error:&amp;error]; 
      [results retain];
  }];
  if(results){
     //Do somehting
  }
  </code></pre>