我以前能够通过向数组添加多个视图(UIImageViews,UILabels和UIButtons)来清理我的代码,然后遍历数组来更改属性这样的:Swift 3 - 在视图阵列上设置属性
var hideViews = [imageView1, imageView2, label1, button1, button2]
for eachView in hideViews {
eachView.isHidden = true
}
然后在斯威夫特的另一个版本变成了:
var hideViews = [imageView1, imageView2, label1, button1, button2] as [Any]
for eachView in hideViews {
(eachView as AnyObject).isHidden = true
}
我也可以用这个来一次移动几个观点:
for view in viewsToMove {
(view as AnyObject).frame = CGRect(x: view.frame.origin.x - 30, y: view.frame.origin.y, width: view.frame.width, height: view.frame.height)
}
我现在正在收到错误:
无法分配给'Bool!'类型的不可变表达式。
无法分配给'CGRect!'类型的不可变表达式。
有没有人知道我在这里错过了什么,为了在Swift 3中做到这一点?
谢谢!
为什么不只是限定阵列'VAR hideViews:[UIView的] = [imageView1,imageView2,label1的,按钮1,按钮2]'? – Hamish