title: Proper way of initializing NSMutableArray
body: <p>I have an ivar which is a <code>NSMutableArray</code>. I've seen some people use this function as a way to initialize an array:</p>
  
  <pre><code>- (NSMutableArray *)varArray
  {
     if (!varArray)
        varArray = [[NSMutableArray alloc]init];
  
     return varArray;
  }
  </code></pre>
  
  <p>And the array is released in <code>dealloc</code>.</p>
  
  <p>When I tried to do this, sometimes the array is initialized, sometimes not. </p>
  
  <p>So what I'm asking is, Is this a good way to initialize an ivar <code>NSMutableArray</code>, or is it better to do this: <code>varArray = [[[NSMutableArray alloc]init]autorelease];</code> instead?</p>