Ios Swift:声明指向struct字段的指针

Ios Swift:声明指向struct字段的指针,ios,pointers,audio,swift,Ios,Pointers,Audio,Swift,我试图用Swift编写音频应用程序,但在AudioBufferList中正确声明指向访问mBuffers的指针时遇到问题 在Swift中,AudioBufferList声明如下: struct AudioBufferList { var mNumberBuffers: UInt32 var mBuffers: (AudioBuffer) } 其中mBuffers声明为单个音频缓冲区,但实际上它应该是audiobuffers的可变长度数组(其长度由mNumberBuffers给出

我试图用Swift编写音频应用程序,但在
AudioBufferList
中正确声明指向访问
mBuffers
的指针时遇到问题

在Swift中,
AudioBufferList
声明如下:

struct AudioBufferList {
    var mNumberBuffers: UInt32
    var mBuffers: (AudioBuffer)
}
其中
mBuffers
声明为单个音频缓冲区,但实际上它应该是
audiobuffers
的可变长度数组(其长度由
mNumberBuffers
给出)

所以我试图声明一个指向
mBuffer
的指针:

var buffers:UnsafePointer<AudioBuffer> = &bufferList?.mBuffers
var buffers:UnsafePointer=&bufferList?.mbuffer
但是,这将导致一个奇怪的编译错误:

错误:无法将表达式的类型“inout$T4”转换为类型“inout$T4” 变量缓冲区:UnsafePointer=&bufferList?.mbuffer ^~~~~~~~~~~~~~~~~~~~~


如何正确声明指向
mbuffer
的AudioBuffer指针?谢谢。

您不想要一个
数组吗?为什么是指针?当你想很好地。。。指向内存中比编译器更了解的任意位置。在你的例子中,你知道结构——一个AudioBuffer数组。AudioBufferList仍然应该是一个C结构数组而不是swift数组?