我不明白为什么 Swift 不允许这样做:
let graphPointCircleDiameter: CGFloat = 5.0
let graphPointCircleDisplacement: CGFloat = graphPointCircleDiameter/2
我收到错误:
Instance member 'graphPointCircleDiameter' cannot be used on type NameOfVC.
任何人都可以解释为什么静态“let”变量不能被 Swift 中全局范围内的另一个变量引用吗?
谢谢!
最佳答案
let
定义常量,而 var
定义变量。如果您想从全局常量分配变量,那么您可以将graphPointCircleDisplacement
设置为lazy var
:
let graphPointCircleDiameter: CGFloat = 5.0
lazy var graphPointCircleDisplacement: CGFloat = self.graphPointCircleDiameter/2
如Leo Dabus mentioned ,您还可以返回常量的值来定义另一个:
var graphPointCircleDisplacement: CGFloat { return graphPointCircleDiameter/2 }
关于swift - 为什么我不能在 swift 中使用一个全局变量作为另一个全局变量定义的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690067/