相关疑难解决方法(0)

Swift中的计算只读属性与函数

在Swift WWDC会话简介中,description演示了一个只读属性:

class Vehicle {
    var numberOfWheels = 0
    var description: String {
        return "\(numberOfWheels) wheels"
    }
}

let vehicle = Vehicle()
println(vehicle.description)
Run Code Online (Sandbox Code Playgroud)

选择上述方法而不是使用方法有任何影响:

class Vehicle {
    var numberOfWheels = 0
    func description() -> String {
        return "\(numberOfWheels) wheels"
    }
}

let vehicle = Vehicle()
println(vehicle.description())
Run Code Online (Sandbox Code Playgroud)

在我看来,你选择只读计算属性的最明显的原因是:

  • 语义 - 在这个例子中,成为description类的属性是有意义的,而不是它执行的动作.
  • 简洁/清晰 - 在获取值时无需使用空括号.

显然,上面的例子过于简单,但还有其他充分理由选择其中一个吗?例如,是否有某些功能或属性的功能可以指导您决定使用哪些功能?


NB乍一看,这似乎是一个非常常见的OOP问题,但我很想知道任何特定于Swift的功能,这些功能可以指导使用这种语言时的最佳实践.

methods properties semantics swift

95
推荐指数
6
解决办法
2万
查看次数

标签 统计

methods ×1

properties ×1

semantics ×1

swift ×1