Swift for循环同时拿到下标值和元素

现在,我们要对view.subviews中的UIButton做一些不可描述的事情,用 for 循环怎么同时拿到下标值和元素呢?

Swift 中for 循环拿到下标值,一般的写法是 0..<view.subviews.count

for index in 0..<view.subviews.count {
    let subView = view.subviews[index]
    //不可描述的事情
}

缺点:

在只需要用到下标值时,是可以用的,但如果还要用到下标值对应的元素,就还得在内部再取一次,很麻烦

enumerated

其实还有个更方便的写法:enumerated(),可以一次性拿到下标值和遍历的元素

//index 和 subView 在循环体中都能使用到
for (index, subView) in view.subviews.enumerated() { 
//不可描述的事情 
}

//只用到 index 
for (index, _) in view.subviews.enumerated() {
 //不可描述的事情
 } 

//只用到 subView 
for (_, subView) inview.subviews.enumerated() {
 //不可描述的事情 
}

这种写法就比较完美,可以一次性拿到下标值和元素,如果其中一个用不到,也可以用 _代替

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容