在Swift WWDC会话简介中,演示了只读属性描述:
class Vehicle { var numberOfWheels = 0 var description: String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description)
class Vehicle { var numberOfWheels = 0 func description() -> String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description())
在我看来,你选择只读计算属性的最明显的原因是:
>语义 – 在这个例子中,描述是类的属性,而不是它执行的动作是有意义的。
> Brevity / Clarity – 避免在获取值时需要使用空括号。
显然,上面的例子过于简单,但是有其他的理由选择一个呢?例如,是否有功能或属性的一些功能,将指导您决定使用哪个?
N.B.乍一看,这似乎是一个常见的OOP问题,但我想知道任何Swift特有的功能,将指导使用这种语言的最佳实践。