Ios 对于未将子视图带到前面的每个

Ios 对于未将子视图带到前面的每个,ios,swift,foreach,extension-methods,Ios,Swift,Foreach,Extension Methods,我已将以下扩展添加到UIView: func bringViewsToFront(views : [UIView]) { views.forEach { (view) in self.bringSubviewToFront(view) } 我是这样使用的: imageOverlay.bringViewsToFront(views: [v1, v2, v3]) 然而,这似乎不起作用-而下面的传统方法却起作用: imageOverlay.bringSubviewToFro

我已将以下扩展添加到
UIView

func bringViewsToFront(views : [UIView]) {
    views.forEach { (view) in
        self.bringSubviewToFront(view)
}
我是这样使用的:

imageOverlay.bringViewsToFront(views: [v1, v2, v3])
然而,这似乎不起作用-而下面的传统方法却起作用:

imageOverlay.bringSubviewToFront(v1)
imageOverlay.bringSubviewToFront(v2)
imageOverlay.bringSubviewToFront(v3)

知道为什么吗?

好吧,我打赌你的for-each没有问题。只需确保作为参数传递的视图是直接子视图(而不是孙子子视图)。

“不工作”不是一个有用的描述。请回答您的问题,并清楚地解释实际发生的情况与您预期发生的情况相比。@rmaddy没有太多要添加的内容-什么都没有发生,该方法没有被调用,UI没有更新…我认为这是非常清楚的,这不是一个复杂的方法。您的评论只是说该方法没有被调用。我认为你的问题中遗漏了非常重要的信息。你的意思是没有调用
bringViewsToFront
?你的问题并不是说UI没有更新。同样,您的问题中缺少重要信息。