将更改控制属性的值设置为等于swift中的常量是否有效?

时间:2018-03-14 16:01:59

标签: swift

我为这个相当基本的问题道歉,那里有很多文档,但这对我来说并不是特别清楚。

Swift不断向我发出警告,建议将变量更改为常量,所以我的问题是:如果我设置一个等于控件属性的常量(例如标签文本值)并且该控件属性的值发生更改,那么值是不断变化?那个"常数"的定义将始终等于控制属性。

我的代码示例:

let MELLandingPenalty: Int = Int(lblMELLandingDist.text!)!

1 个答案:

答案 0 :(得分:1)

常量表现为两种不同的方式:

  • 如果指定的对象是值类型,则该值是右侧的副本,永远不会更改。
  • 如果指定的对象是引用类型,则引用将永远不会更改,但其变量属性是可变的。

在您的示例中,值类型MELLandingPenalty从不更改 - 通过变量名称应以小写字母开头的方式,并且不注释编译器可以推断的类型。

信任编译器并通过将var更改为let来解决警告。