如何快速访问视图子层 [英] How to access view sublayers in swift

查看:90
本文介绍了如何快速访问视图子层的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I would like to access view sublayers in swift 4.1 by writting :

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

,但收到错误:


类型'[CALayer]?'不符合协议'Sequence'

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

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

Does that mean that CALayer is unreachable by for loop ?

推荐答案

子层属性是一个可选数组(默认情况下 nil )。
您必须先将其解开,例如并具有可选的绑定:

The sublayers property is an optional array (and by default nil). You have to unwrap it first, e.g. with optional binding:

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

或者具有可选的链接和 forEach

Alternatively with optional chaining and forEach:

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

这篇关于如何快速访问视图子层的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆