title: leaking memory issue, memory management
body: <p>What I am having now is </p>
  
  <p><strong>classA.h</strong></p>
  
  <pre><code>@interface ClassA: NSObject &lt;DelegateA&gt;
  -(id)initWithData:(NSData*)data;
  +(Stores*)makeClass:(Class) name fromData:(NSData*)data;
  @property (assign) NSMutableArray    *arr;
  @property (assign) RXMLElement       *rxmlRoot;
  @end
  </code></pre>
  
  <p><strong>classA.m</strong></p>
  
  <pre><code>   -(id)initWithData:(NSData*)data { 
          self = [super init]; 
          if (self) { 
              arr      = [[NSMutableArray array] retain]; 
              rxmlRoot = [[RXMLElement elementFromXMLData:data] retain]; 
  
          } 
  
          [rxmlRoot iterate:node with:^(RXMLElement *e){   &lt;--------get warning at here
              NSLog(@"element is %@",e.tag);
              Detail   *detail  =   [[[Detail alloc] init] autorelease];
              [detail setLat:       [e attribute:@"lat"]];
              [detail setLon:       [e attribute:@"lon"]];
  
              [arr addObject:detail];
  
          }];
          return self; 
          }
  
        +(classA*)makeClass:(Class) name fromData:(NSData*)data{
              ClassA  *classA =   [[ClassA alloc] initWithData:data];
              return [storeClass autorelease] ;
  
          }
  </code></pre>
  
  <p>and RaptureXML.m</p>
  
  <pre><code>+ (id)elementFromXMLData:(NSData *)data {
      return [[[RXMLElement alloc] initFromXMLData:data] autorelease];
  }
  - (id)initFromXMLData:(NSData *)data {
      if ((self = [super init])) {
          xml_ = [[TBXML alloc] initWithXMLData:data];
          tbxmlElement_ = xml_.rootXMLElement;
      }
  
      return self;    
  }
  </code></pre>
  
  <p><strong>Warning</strong> : Instance variable access( via 'self') results in a null pointer dereference</p>
  
  <p><strong>Question</strong> : why I am getting this warning and how to fix this issue.
  Please advice me on this. Thanks</p>