DNS.hにこのクラスがあります
@interface DNS : NSObject <NSXMLParserDelegate, NSNetServiceDelegate> {
NSMutableArray *servsPublished;
}
@property(nonatomic, retain) NSMutableArray *servsPublished;
次に、実装ファイルDNS.mに、それを解放するメソッドがあり、exec badaccessmemoryエラーが発生します。これはメソッドであり、NSXMLParserDelegateプロトコルに準拠しています
-(void) parserDidEndDocument:(NSXMLParser *)parser {
NSNetService *client;
for (NSDictionary *aService in servToPublish) {
client = [[NSNetService alloc] initWithDomain:@"local"
type:[aService objectForKey:@"serviceType"]
name:[aService objectForKey:@"name"]
port: [(NSNumber *)[aService objectForKey:@"port"] intValue]];
[client setDelegate: self];
[client publish];
//release this service and the client
[aService release];
//[client release];
}
//free the array of Dictionary containing the services
[servToPublish release];
}
最初に考えたのはnilかもしれませんが、実際にはメソッド内でnilかどうかをチェックして使用し、解放します。
それはretainプロパティと関係がありますか?THX。