如何访问 swift 中的视图子图层

How to access view sublayers in swift

我想通过以下方式访问 swift 4.1 中的视图子层:

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

但出现错误:

Type '[CALayer]?' does not conform to protocol 'Sequence'

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

sublayers 属性 是一个 可选的 数组(默认情况下 nil)。 你必须先打开它,例如可选绑定:

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

或者使用可选链接和 forEach:

myView.layer.sublayers?.forEach { layer in
    // ...
}