现在,我们要对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() {
//不可描述的事情
}
这种写法就比较完美,可以一次性拿到下标值和元素,如果其中一个用不到,也可以用 _代替
网友评论