什么我现在有是内存泄漏问题,内存管理
classA.h
@interface ClassA: NSObject <DelegateA>
-(id)initWithData:(NSData*)data;
+(Stores*)makeClass:(Class) name fromData:(NSData*)data;
@property (assign) NSMutableArray *arr;
@property (assign) RXMLElement *rxmlRoot;
@end
classA.m
-(id)initWithData:(NSData*)data {
self = [super init];
if (self) {
arr = [[NSMutableArray array] retain];
rxmlRoot = [[RXMLElement elementFromXMLData:data] retain];
}
[rxmlRoot iterate:node with:^(RXMLElement *e){ <--------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] ;
}
和RaptureXML.m
+ (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;
}
警告:实例变量访问(通过“自我”)导致空指针引用
问题:为什么我收到这样的警告,以及如何解决这个问题。 请在此建议我。由于
是在CLASSA * CLASSA =第一和第三CLASSA [[CLASSA的alloc] initWithData:数据];小写,因为它是一个错字? – fsaint
谢谢你。我刚刚编辑 – tranvutuan