我以前能夠通過向數組添加多個視圖(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