Ios Swift:声明指向struct字段的指针
我试图用Swift编写音频应用程序,但在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给出
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数组?