我有两个数组,每个数组有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个不同的堆栈视图(如果topViews
和bottomViews
看起来很愚蠢,那只是为了简单起见。)< / p>
答案 0 :(得分:1)
这是一个很好的解决方案,只有更好的方法,正如@zgorawski所说,
let imageViews = (topViews + bottomViews).flatMap { $0 as? UIImageView }`
从现在开始如果你想在方程式中添加另一个数组,你只需添加+ anotherOne
而不是+ anotherOne.flatMap { $0 as? UIImageView }
。