swift – 高阶函数:“无法使用类型'((_) – > _)”的参
发布时间:2020-12-14 05:47:14 所属栏目:百科 来源:网络整理
导读:我想使用swift高阶函数(map)从给定的UIView.subviews数组中删除所有Subviews.这条线 (cell.contentView.subviews as [UIView]).map { $0.removeFromSuperView() } 导致错误 “无法使用'((_) – _)”类型的参数列表调用’map’ 我想知道编译器在这一点上需要
我想使用swift高阶函数(map)从给定的UIView.subviews数组中删除所有Subviews.这条线
(cell.contentView.subviews as [UIView]).map { $0.removeFromSuperView() } 导致错误 我想知道编译器在这一点上需要什么.
我会说地图不适合这种操作.它基于其他序列元素创建一个新序列,但是你不想创建一个序列,你只想迭代它们并将一个函数应用于它们.在swift中没有高阶函数可以匹配你想要的函数,我希望他们能尽快投入一些东西.因此,您可以做的最好的事情是使用for循环或编写您自己的功能,它可以满足您的需求.
我想建议编写自己的功能(基于foreach的scalas): extension Array { func foreach(function: T -> ()) { for elem in self { function(elem) } } } 使用Swift 2.0更新
(cell.contentView.subviews as [UIView]).forEach { $0.removeFromSuperview() } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |