与Swift一起使用时发生NSXMLParser错误

问题描述:

我正在使用NSXMLParser从远程源获取一些XML。该downloadPeopleDirectory启动的NSXMLParser,如下图所示:与Swift一起使用时发生NSXMLParser错误

func downloadPeopleDirectory() { 

     var xml = NSXMLParser(contentsOfURL: NSURL(string: "https://someurl/People.xml")) 
     xml.delegate = self 
     xml.parse() 
    } 

当我加入didEndElement实现然后,它开始在xml.parse()符合“EXEC_BAD_ACCESS错误”失败。 downloadPeopleDirectory只在UITableViewController类的viewDidLoad中调用一次。

我在做什么错>

+0

设置在'didEndElement'功能断点,单步执行代码,看看问题出在哪里。在这里发布你的'didEndElement'函数以获得进一步的帮助。 – zisoft 2014-09-27 05:48:38

+0

谢谢! didEndElement是一个没有实现的空方法。只要我添加了didEndElement方法(在没有实现的情况下为空),我就会得到上述问题中解释的异常。 – 2014-09-27 14:36:37

+0

如何在不实现'didStartElement','foundCharacters'和'didEndElement'方法的情况下解析XML文档?请查看其中一个关于如何使用NSXMLParser的教程。你需要实现'NSXMLParserDelegate'协议。 – zisoft 2014-09-27 14:46:22

找到了解决办法:

我开发一个iOS应用程序,因为数月,因此通过Xcode中的所有测试版本做了它的方式。该应用程序中的XMLParser部分具有此签名:

func parser(parser: NSXMLParser!, didEndElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!) { 
    ... 
} 

这可正常工作。

当我删除了感叹号,应用程序崩溃与EXC_BAD_ACCESS