Ios 当';didEndElement';方法实现
我在使用NSMXLParser时遇到问题 首先,这里是我的代码:Ios 当';didEndElement';方法实现,ios,swift,nsxmlparser,Ios,Swift,Nsxmlparser,我在使用NSMXLParser时遇到问题 首先,这里是我的代码: class ViewController: UIViewController, NSXMLParserDelegate { override func viewDidLoad() { super.viewDidLoad() var url = NSURL(string: "http://placeholder.abc/data.xml") var xmlParser
class ViewController: UIViewController, NSXMLParserDelegate {
override func viewDidLoad() {
super.viewDidLoad()
var url = NSURL(string: "http://placeholder.abc/data.xml")
var xmlParser = NSXMLParser(contentsOfURL: url)
xmlParser.delegate = self
xmlParser.parse()
}
func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String, qualifiedName qName: String, attributes attributeDict: [NSObject : AnyObject]) {
println(elementName)
}
func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String, qualifiedName qName: String) {
}
func parser(parser: NSXMLParser, foundCharacters string: String) {
}
现在的问题是:只要我实现didEndElement
方法,我的应用程序就会在执行以下代码行时崩溃:xmlParser.parse()
,并出现以下错误:Thread 1:EXC\u BAD\u ACCESS(code=1,address=0x0)
当我删除
didEndElement
方法时,代码运行良好。有人能帮我吗?谢谢 几个月以来,我一直在开发一款iOS应用程序,因此它在Xcode的所有测试版中都得到了成功。该应用程序中的XMLParser部分具有以下签名:
func parser(parser: NSXMLParser!, didEndElement elementName: String!, namespaceURI: String!, qualifiedName qName: String!) {
...
}
这是没有错误的
当我删除感叹号时,应用程序会因EXC\u BAD\u ACCESS
NSXMLParserDelegate
的所有其他方法都有相同的签名:所有变量都被绑定为隐式展开的选项(都带有!)这在Xcode 6.1中对我不起作用。它一开始似乎是可行的,但这只是因为该函数不再算作委托函数,也没有被调用。