有這樣的問題是正常的,但我目前堅持知道它是如何工作的。 每當我使用NSXMLparser解析URL並將其存儲在數據庫中時,它會首次被解析,但是當我再次解析它時,它會拋出EXC_BAD_ACCESS。 這裏是我的代碼:NSXMLParser投擲EXC_BAD_ACCESS
- (void) initParse {
[super init];
appleAppDelegate = (appleAppDelegate*)[[UIApplication sharedApplication] delegate];
NSURL *url = [[[NSURL alloc] initWithString:@"http:example.com/file.xml"] autorelease];
self.parser1 = [[[NSXMLParser alloc] initWithContentsOfURL:url] autorelease] ;
[parser1 setShouldResolveExternalEntities:NO];
[parser1 setDelegate:self];
[parser1 parse];
}
當它到達功能的底「}」,它拋出EXC_BAD_ACCESS。我不確定自從我釋放我的URL甚至是解析器以來發生了什麼問題。 有沒有人遇到過這種情況。
Sagos
我確實改變了autorelease,發佈並確保在需要的時候發佈它。 (void)initParse { [super init]; appleAppDelegate =(appleAppDelegate *)[[UIApplication sharedApplication] delegate]; NSURL * url = [[NSURL alloc] initWithString:@「http:example.com/file.xml」]; self.parser1 = [[NSXMLParser alloc] initWithContentsOfURL:url]; [parser1 setShouldResolveExternalEntities:NO]; [parser1 setDelegate:self]; [parser1 parse]; [網址發佈]; } - (void)dealloc {[parser1 release]; } 但它仍然引發了同樣的錯誤。 Sagos – lifemoveson 2011-02-07 19:18:03
所以它失敗,1調用initParse或後續調用initParse? – 2011-02-07 19:27:18