私が今持っているのは
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
クラスA.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;
}
警告: インスタンス変数へのアクセス ('self' 経由) は、null ポインターの逆参照になります。
質問: この警告が表示される理由と、この問題を解決する方法を教えてください。これについて私にアドバイスしてください。ありがとう