我仍然不确定struct复制或引用的规则。
我想在迭代数组时改变一个结构对象的属性:例如,在这种情况下,我想改变背景颜色,但编译器却报错了。
struct Options {
var backgroundColor = UIColor.blackColor()
}
var arrayOfMyStruct = [MyStruct]
...
for obj in arrayOfMyStruct {
obj.backgroundColor = UIColor.redColor() // ! get an error
}
MyStruct
对象指定了名称,并且由于数组是按值传递的,那么在下一行尝试打印命名的结构体对象的backgroundColor
将导致打印旧值,对吗? - dudeman