什么是makeObjectsPerformSelector的快速等价物?

yum*_*gee 34 xcode ios swift

在Objective-C中,我使用此代码删除任何子视图:

[self.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
Run Code Online (Sandbox Code Playgroud)

但是如何在swift中使用它呢?我看到苹果文档在swift中使用该方法

func makeObjectsPerformSelector(_ aSelector: Selector)
Run Code Online (Sandbox Code Playgroud)

但是当我尝试它时,我收到一个错误: 'AnyObject[]' does not have a member named 'makeObjectsPerformSelector'

有没有办法删除swift中的子视图?

rob*_*off 96

更新了Swift 2.0(Xcode 7)

用途forEach:

self.view.subviews.forEach { subview in
    subview.removeFromSuperview()
}
Run Code Online (Sandbox Code Playgroud)

或者像这样:

view.subviews.forEach { $0.removeFromSuperview() }
Run Code Online (Sandbox Code Playgroud)

  • map用于从旧数组构造一个新数组,因此该块假定返回一个用于新数组的值.似乎没有make对象执行等效,你可以只使用'for obj in array {...}',也可能不安全地修改数组,同时枚举它就像那样. (2认同)