首页 > 解决方案 > 如何快速访问视图子层

问题描述

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

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

但得到错误:

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

这是否意味着CALayerfor 循环无法访问?

标签: iosswiftcalayer

解决方案


sublayers属性是一个可选数组(默认为nil)。您必须先打开它,例如使用可选绑定:

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

或者使用可选链接和forEach

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

推荐阅读