如何快速访问视图子层

时间:2018-07-27 09:02:30

标签: ios swift calayer

我想通过写访问swift 4.1中的视图子层:

for layer : CALayer in myView.layer.sublayers {
         // Code
}

但出现错误:

  

输入“ [CALayer]?”不符合协议“序列”

这是否意味着for循环无法访问CALayer

1 个答案:

答案 0 :(得分:9)

sublayers属性是一个可选数组(默认情况下为nil)。 您必须先解开包装,例如带有可选的绑定:

if let sublayers = myView.layer.sublayers {
    for layer in sublayers {
        // ...
    }
}

或者使用可选链接和forEach

myView.layer.sublayers?.forEach { layer in
    // ...
}
相关问题