gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 08:09:20 24 4
gpt4 key购买 nike

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

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())

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

  • 语义 - 在此示例中,description 是类的属性而不是它执行的操作是有意义的。
  • 简洁/清晰 - 避免在获取值时使用空括号。

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


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

最佳答案

在我看来,这主要是风格问题:我非常喜欢使用 properties 来做到这一点:properties;表示您可以获取和/或设置的简单值。我在完成实际工作时使用函数(或方法)。也许必须从磁盘或数据库中计算或读取某些内容:在这种情况下,我使用一个函数,即使只返回一个简单的值。这样我就可以很容易地看出一个调用是便宜的(属性)还是可能昂贵的(函数)。

当 Apple 发布一些 Swift 编码约定时,我们可能会更加清晰。

关于swift - Swift 中的计算只读属性与函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44108639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com