Arrays 您是如何从非恐惧雷转换而来的<;CFloat>;到数组<;浮动>;斯威夫特?

Arrays 您是如何从非恐惧雷转换而来的<;CFloat>;到数组<;浮动>;斯威夫特?,arrays,swift,Arrays,Swift,一些Cocoa类,例如AVFoundation的AVAudioPCMBuffer处理浮点数据数组,它们在Objective-C中使用typefloat*公开 例如,AVAudioPCMBuffer的Objective-C原型是: @property(nonatomic, readonly) float *const *floatChannelData Swift等价物为: var floatChannelData: UnsafePointer<UnsafePointer<CFloa

一些Cocoa类,例如AVFoundation的
AVAudioPCMBuffer
处理浮点数据数组,它们在Objective-C中使用type
float*
公开

例如,
AVAudioPCMBuffer
的Objective-C原型是:

@property(nonatomic, readonly) float *const *floatChannelData
Swift等价物为:

var floatChannelData: UnsafePointer<UnsafePointer<CFloat>> { get }
var floatChannelData:UnsafePointer{get}
使用
UnsafeArray()
,可以将内部
UnsafeArray指针
解包为
UnsafeArray
,但如何将其转换为常规Swift
数组


我可以迭代每个浮点数,将每个浮点数复制到一个新的数组中,但这是昂贵的,对于大型数组来说并不可行。

Swift数组封装在不透明结构中,它的布局和内存管理与任意C Float[]数组不同。因此,如果要在数据上使用本机Swift数组语法,则必须复制数据,或者将未安全指针传递到Swift数组(该数组已包装在正确的Swift结构中)到C或Objective C API,并在获取数据时使用该指针。

Swift数组包装在不透明结构中,它的布局和内存管理与任意C float[]数组不同。因此,如果要在数据上使用本机Swift数组语法,则必须复制数据,或者将未安全指针传递到Swift数组(该数组已包装在正确的Swift结构中)到C或Objective C API,并在获取数据时使用该指针。

Swift数组包装在不透明结构中,它的布局和内存管理与任意C float[]数组不同。因此,如果要在数据上使用本机Swift数组语法,则必须复制数据,或者将未安全指针传递到Swift数组(该数组已包装在正确的Swift结构中)到C或Objective C API,并在获取数据时使用该指针。

Swift数组包装在不透明结构中,它的布局和内存管理与任意C float[]数组不同。因此,如果要在数据上使用本机Swift数组语法,则必须复制数据,或者将未安全指针传递到Swift数组(该数组已包装在正确的Swift结构中)到C或Objective C API,并在获取数据时使用该指针