내가 지금 데 것은누출 메모리 문제, 메모리 관리
@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
classA.h입니다
+ (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; }
경고 :
질문 역 참조 널 포인터 결과 ('자기'를 통해) 인스턴스 변수 접근 :이 경고를 얻는 방법이 문제를 해결하는있는 이유. 제발 조언 해주세요. 에서 [rxmlrRoot itertate ... 등 이동이다
if (self) {
}
의 모든 초기화 코드를 넣어 감사
가를 ClassA = *를 ClassA의 첫 번째 및 세 번째를 ClassA이다 [를 ClassA ALLOC] initWithData : 데이터]; 오타이기 때문에 소문자입니까? – fsaint
감사합니다. 방금 편집했습니다 – tranvutuan