我对NavigationController中的后退按钮有一个奇怪的问题。如果我使用解析器,然后单击“返回”按钮,我将获得EXC_BAD_ACCESS。为什么呢?
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_lbRouteNum.text = self.RouteNumber;
self.InfoTableView.dataSource = self;
self.InfoTableView.delegate = self;
lbCity = [[NSMutableArray alloc] initWithCapacity:1];
// [lbCity addObject:@"sdfsdfsdfsdfsd"];
NSData * XMLData = [self.response dataUsingEncoding:NSUnicodeStringEncoding];
NSXMLParser * parser = [[NSXMLParser alloc] initWithData:XMLData];
[parser setDelegate:self];
[parser parse];
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"Citys"])
{
//do something
}
}
如果我发表评论
//NSData * XMLData = [self.response dataUsingEncoding:NSUnicodeStringEncoding];
//NSXMLParser * parser = [[NSXMLParser alloc] initWithData:XMLData];
//[parser setDelegate:self];
//[parser parse];
并且测试取消注释
[lbCity addObject:@"sdfsdfsdfsdfsd"];
一切顺利。
如果我更改解析代码以进行测试:
if ([elementName isEqualToString:@"Citys"])
{
[lbCity addObject:@"sdfsdfsdfsdfsd"];
}
当我点击后退按钮应用程序崩溃EXC_BAD_ACCESS(
解决方案: 我转向ARC,所有问题都消失了。感谢。