我不明白为什么在Swift中不允许这样做:
let graphPointCircleDiameter: CGFloat = 5.0
let graphPointCircleDisplacement: CGFloat = graphPointCircleDiameter/2
我收到错误:
实例成员'graphPointCircleDiameter'不能用于NameOfVC类型。
任何人都可以解释为什么静态“let”变量不能被Swift中全局范围内的另一个变量引用?
谢谢!
答案 0 :(得分:0)
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 }