iOS代表返回nil(Swift 1.2)

时间:2015-04-26 13:59:25

标签: ios swift delegates

我试图为我的应用程序编写一个小的RSS解析器,我有一个XML解析器类,我试图实现一个委托,所以我的RSS类可以在解析完成时被告知。但我有一些问题。

所以我有我的代表:

protocol MyXmlDelegate
{
    func onComplete ()
}

然后在我的XML解析器类中,我引用了它:

var someDelegate: MyXmlDelegate?

我在需要时调用委托函数:

public func parserDidEndDocument(parser: NSXMLParser) {
    println("parsing finished")

    if someDelegate == nil {
        println ("Delegate nil bro")
    }
    else
    {
        someDelegate!.onComplete()
    }
}

然后我的RSS类实现了委托:

class RSSFeed : NSObject, MyXmlDelegate

该类设置解析器'委托自己:

init (feedURL url: String)
{
    super.init()

    parser = XMLParser(contentsOfURL: NSURL (string: url)!)!
    parser!.someDelegate = self
}

rss类实现了委托函数:

func onComplete() {
    println ("on complete...")
}

现在,当我运行应用程序时,解析器完成并打印: "解析完成", "委托nil bro"

那么为什么我的代表没有? 我错过了明显的东西吗?

0 个答案:

没有答案