单击导航控制器中的后退按钮时EXC_BAD_ACCESS

时间:2014-04-15 14:02:42

标签: ios uinavigationcontroller exc-bad-access

我对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,所有问题都消失了。感谢。

0 个答案:

没有答案