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

2021-11-11  本文已影响0人  yyggzc521

现在,我们要对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() {
 //不可描述的事情 
}

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

上一篇 下一篇

猜你喜欢

热点阅读