什么是下划线" _"在快速变量之前意味着什么?

时间:2015-06-03 02:05:53

标签: ios swift

以下是代码:

var _selected: Bool = false {
    didSet(selected) {
        let animation = CATransition()
        animation.type = kCATransitionFade
        animation.duration = 0.15
        self.label.layer.addAnimation(animation, forKey: "")
        self.label.font = self.selected ? self.highlightedFont : self.font
    }
}

为什么变量是" _selected"而不是"选择"?

1 个答案:

答案 0 :(得分:7)

它只是一种不适用于Swift代码的编码风格。

开发人员经常使用下划线标记事物以表明它应该是私有的。

也就是说,下划线有实际用途_。详细了解Local and External Parameter Names for Methods

那么你如何避免使用_selected?现在,当您已经拥有所需的变量时,您有两个变量。

删除_将要求您覆盖成员变量(应该如何完成)。

override var selected: Bool {
    didSet {
        println("Hello, \(selected)")
    }
}

此外,表格视图单元格将具有可覆盖的方法setSelected(selected:animated),可能值得探索。