没有初始化程序工作的Swift类?

时间:2015-02-14 11:51:43

标签: swift swift-playground

你能告诉我为什么那个代码(班级)在游乐场工作吗? 如果我理解得正确,那么应该使用初始化或#34;空白初始化程序"?

class Shape{
    var numberOfSides = 0
    func simpleDescription() -> String {
    return "A shape with \(numberOfSides) sides."
    }
}

var shapeA = Shape()
shapeA.simpleDescription()
shapeA.numberOfSides = 7
var shapeDescription = shapeA.simpleDescription()
shapeA.simpleDescription()

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

如果所有存储的属性都被赋予默认值,则此类不需要具有显式初始值设定项。

答案 1 :(得分:0)

在Swift中,只在某些情况下才需要初始化覆盖。

例如,如果你没有在numberOfSides var上放置一个默认值,那么你必须有一个init来提供默认值。

或者您必须将其设为可选项,并为其提供nil默认值。

这在Apple的iBook中都有解释。