gpt4 book ai didi

ios - 计算属性 : different types between get and set

转载 作者:搜寻专家 更新时间:2023-11-01 06:36:24 28 4
gpt4 key购买 nike

我想将 float 的范围映射到字符串。具体来说,我想转换风的度数方向,例如,在具有基本方向的相应字符串中:220 -> SW

是否可以使用自定义 get 声明创建类型为 Float 的计算属性,以便返回相应的 String?这样我会把它写成 Float 但我会把它读成 String

类似于:

var windDirection: Float? {
get {
switch self.windDirection {
case 348.75..<11.25:
return "N"
break
...
default:
break
}
}
set (newValue) {
self.windDirection = newValue
}
}

如果不是,我有什么可能产生相同的行为?

最佳答案

据我所知这是不可能的。计算属性仍然是只能是单一类型的属性。

也就是说,也许你拥有自己的类型会更好:

struct WindDirection {
var degrees: Float
var stringValue: String {
get {
// compute the correct string here
return "\(degrees)"
}
set {
// compute the correct float value here
degrees = Float(newValue) ?? 0
}

}
}

var windDirection: WindDirection

如果您不想使用自己的类型,则必须坚持使用 2 个不同的属性。

关于ios - 计算属性 : different types between get and set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41100766/

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