【发布时间】:2016-04-18 15:58:36
【问题描述】:
我最近正在编写一些测试代码,构建愚蠢的视图层次结构,我遇到了一些让我眯起眼睛的代码。
var parentView: UIView = UIView() //Warning here
parentView.addSubview(UIImageView())
第一行是以下警告:
变量“parentView”从未发生变异;考虑更改为“让”常量
我很困惑为什么这个元素没有发生突变,或者编译器为什么认为它没有发生突变。我想也许 Swift 正在检测对象中的一个集合正在发生变异,而不是对象本身的属性。这导致我尝试以下操作:
let strings: [String] = []
strings.append("Hi") //This is an error
鉴于上述代码,我能想到的唯一解释是某处存在错误。我是否在某处遗漏了使这种情况有意义的关键字?类似于 C++ 的“可变”关键字?
如果不是错误,我希望在一个不继承自 UIObject 的类中重新创建此场景,这样我就可以理解是什么原因造成的。
【问题讨论】: