我有以下代码:
UIView.animateKeyframesWithDuration(5, delay: 0, options: nil, animations: {
for i in 0 ..< labels.count {
var label = labels[i]
label.transform = CGAffineTransformIdentity
此时没有编译错误。如果在label.transform = CGAffineTransformIdentity
下我添加label
并按Ctrl+Space
以获得自动完成功能,我会在label
获取此类型:<<error type>>
,如屏幕截图所示:
如果我尝试在Ctrl+Space
label
之后立即按label.transform = CGAffineTransformIdentity
,即使没有编译错误,我也会<<error type>>
{。}}。
它试图退出Xcode,删除所有DerivedData子目录,但没有改变。
有什么问题?为什么我无法获得label
变量?为什么.transform
可以使用.removeFromSuperView()
而不是let label1 = UILabel()
let label2 = UILabel()
let labels = [label1, label2]
let test = label1
UIView.animateKeyframesWithDuration(5, delay: 0, options: nil, animations: {
for i in 0 ..< labels.count {
var label = labels[i]
label.transform = CGAffineTransformIdentity
}
}, completion: nil)
?
我可能遗漏了一些东西,但无法弄清楚。
编辑:
在操场上尝试的片段:
labels
以下是我获取// displayView is a UIView where are other UIView and the UILabels
var views = displayView.subviews as! [UIView]
views.removeRange(0...1)
let labels = views as! [UILabel]
的方式:
{{1}}