Swift 正在尝试将顶点列表解压为浮点

Swift 正在尝试将顶点列表解压为浮点,swift,Swift,在这种情况下,我需要发送某种OSC消息,不幸的是,限制是OSC列表需要采用这种格式:float,float,float 原始数据是一些顶点数据,向量_float3 我相信这应该很简单,但我在尝试“打开”列表时感到头疼 dataY是向量值的列表。我不知道如何处理这个问题,应该有一个地图,但它只对字符串有效 如果要手动操作,我必须手动键入列表中的每一项: var mymessage:[Float] = [] for data in dataY { mymessage

在这种情况下,我需要发送某种OSC消息,不幸的是,限制是OSC列表需要采用这种格式:float,float,float

原始数据是一些顶点数据,向量_float3

我相信这应该很简单,但我在尝试“打开”列表时感到头疼

dataY是向量值的列表。我不知道如何处理这个问题,应该有一个地图,但它只对字符串有效

如果要手动操作,我必须手动键入列表中的每一项:

    var mymessage:[Float] = []

    for data in dataY {
        mymessage.append(data.x)
        mymessage.append(data.y)
        mymessage.append(data.z)
    }


    let message = OSCMessage( OSCAddressPattern("/hello/osc"),
                              mymessage[0], mymessage[1], mymessage[2],
                              mymessage[3], mymessage[4], mymessage[5],
                              mymessage[6], mymessage[7], mymessage[8]
    )

vector\u float3
是一个元组,没有简单的转换 元组到数组在Swift中,您必须访问每个元组成员 明确地您可以通过以下方式更紧凑地实现这一点:

let myMessage = Array(dataY.map { [$0.x, $0.y, $0.z] }.joined())