从数组中获取最大节点

问题描述

我有一个 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
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...