Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当';didEndElement';方法实现_Ios_Swift_Nsxmlparser - Fatal编程技术网

Ios 当';didEndElement';方法实现

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

我在使用NSMXLParser时遇到问题

首先,这里是我的代码:

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中对我不起作用。它一开始似乎是可行的,但这只是因为该函数不再算作委托函数,也没有被调用。