【发布时间】:2020-03-15 08:02:42
【问题描述】:
如果您有一个UITextField,并且您知道您将不断地引用它的值,并且您会将该值用作Double,那么以下两个示例中哪一个更有意义?或者更好的是,这两者中的任何一个都有意义吗?这是一个很好的做法吗?
计算属性
var fieldValue:Double {
get{
return Double(someField.text! ?? "0") as! Double
}
}
将属性存储为闭包
var fieldValue:Double = {
return Double(someField.text! ?? "0") as! Double
}()
【问题讨论】:
-
为什么要强制将
Double转换为Double?另外,为什么要为强制解包值提供默认值(这不再是可选的)? -
只是澄清一下,这是你如何获得
Double的价值的方式吗?var fieldValue: Double { Double(someField.text!) ?? 0 }Mojtaba Hosseini 建议。
标签: swift closures computed-properties