问题描述
我有一个 SCNNode 数组,我需要确定其中哪一个的宽度最大。
我知道如何计算宽度,但不知道如何在数组中的所有节点之间进行比较并返回值最高的那个。
这是一个示例代码:
var walls = [SCNNode]()
For wall in walls {
let wallWidth = (wall.boundingBox.max.x-wall.boundingBox.min.x)
print(wallWidth)
}
提前致谢!
解决方法
可以使用数组的max函数。
var walls = [SCNNode]()
let maxNode = walls.max { (left,right) -> Bool in
let leftWidth = (left.boundingBox.max.x-left.boundingBox.min.x)
let rightWidth = (right.boundingBox.max.x-right.boundingBox.min.x)
return leftWidth < rightWidth
}