У меня есть этот класс в DNS.h
@interface DNS : NSObject <NSXMLParserDelegate, NSNetServiceDelegate> {
NSMutableArray *servsPublished;
}
@property(nonatomic, retain) NSMutableArray *servsPublished;
Затем в файле реализации DNS.m есть метод, где я освобождаю его и получаю ошибку памяти exec bad access.Это метод, он соответствует протоколу 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];
}
Возможно, первая мысль, что это ноль, но на самом деле я использую его внутри метода, проверяя, является ли ноль или нет, и затем освобождаю его.
Имеет ли это какое-то отношение к свойству retain?СПАСИБО.