结合两个数组和向下转换元素

时间:2018-01-17 20:21:33

标签: ios swift

我有两个数组,每个数组有2个UIView元素,我想将它们组合成一个数组,同时将元素向下转换为UIImageView

有没有比添加flapMapped数组更好的方法呢?

let topViews = [UIView(), UIView()]
let bottomViews = [UIView(), UIView()]

let imageViews = topViews.flatMap { $0 as? UIImageView } + bottomViews.flatMap { $0 as? UIImageView }

*我的用例是在一个数组中放置arrangedSubviews 2个不同的堆栈视图(如果topViewsbottomViews看起来很愚蠢,那只是为了简单起见。)< / p>

1 个答案:

答案 0 :(得分:1)

这是一个很好的解决方案,只有更好的方法,正如@zgorawski所说,

let imageViews = (topViews + bottomViews).flatMap { $0 as? UIImageView }`

从现在开始如果你想在方程式中添加另一个数组,你只需添加+ anotherOne而不是+ anotherOne.flatMap { $0 as? UIImageView }