为什么我们在Swift中使用self

时间:2019-10-15 17:59:37

标签: swift

我是Swift的新手,具有一定的C编程背景,并且我一直在学习Internet教程来学习Swift语言。在下面的代码中,我试图为我的RSS应用程序解析XML。下面的代码来自我在网上看到的一个教程。每当我看到self时,我都无法掌握其背后的真实概念。到目前为止,我的理解是,代表们向自己发送消息,但是在下面的上下文中,我不太清楚。

import Foundation

struct RSSItem {
    var title: String
    var description: String
    var pubDate: String
}

class feedParser: NSObject, XMLParserDelegate {
    private var rssItems: [RSSItem] = []
    private var currentElement = ""
    private var currentTitle: String = "" {
        didSet {
            currentTitle = currentTitle.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
        }
    }

    private var currentDescription: String = "" {
        didSet {
            currentDescription = currentDescription.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
        }
    }

    private var currentPubDate: String = "" {
        didSet {
            currentPubDate = currentPubDate.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
        }

    }

    private var parserCompletionHandler: (([RSSItem]) -> Void)?

    func parseFeed(url: String, completionHandler: (([RSSItem]) -> Void)?)  {
        // Use of self on the following line:
        self.parserCompletionHandler = completionHandler
    }
}

1 个答案:

答案 0 :(得分:-1)

self在处理类和继承的类中存在的成员名称时消除了歧义。

在您的特定示例中,它是可选的。