osx – 如何在Swift中删除视图的所有子视图?

我正在寻找一个简单的方法,从一个超级视图一次删除所有的子视图,而不是一个一个删除
//I'm trying something like this,but is not working
let theSubviews : Array = container_view.subviews
for (view : NSView) in theSubviews {
    view.removeFromSuperview(container_view)
}

我缺少什么?

更新

我的应用程序有一个主container_view。我必须添加不同的其他视图作为子视图到container_view为了提供一种导航。

所以,当点击按钮“打开”一个特定的页面,我需要删除所有的视图,并添加一个新的。

更新2 – 工作解决方案(OS X)

我猜苹果固定它。

现在它比以往更容易,只需调用

for view in containerView.subviews{
    view.removeFromSuperview()
}
编辑:(感谢Jeremiah / Rollo)

到目前为止,在Swift for iOS中最好的做法是:

view.subviews.forEach({ $0.removeFromSuperview() }) // this gets things done
view.subviews.map({ $0.removeFromSuperview() }) // this returns modified array

^^这些功能很有趣!

let funTimes = ["Awesome","Crazy","WTF"]
extension String { 
    func readIt() {
        print(self)
    }
}

funTimes.forEach({ $0.readIt() })

//// END EDIT

只要这样做:

for view in self.view.subviews {
    view.removeFromSuperview()
}

或者如果你正在寻找一个特定的类

for view:CustomViewClass! in self.view.subviews {
        if view.isKindOfClass(CustomViewClass) {
            view.doClassthing()
        }
    }

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...