AudioStreamBasicDescription没有被填充,llbd显示它为零,变量检查器不

时间:2018-05-25 02:44:25

标签: swift xcode core-audio lldb

我有这段代码

        var dataFormat: AudioStreamBasicDescription?
        var propSize: UInt32 = UInt32(MemoryLayout<AudioStreamBasicDescription>.size)
        try SCoreAudioError.check(status: AudioFileGetProperty(audioFileID!, kAudioFilePropertyDataFormat, &propSize, &dataFormat), "Couldn't get file's data format")

变量是somekind被填充,但是llbd调试器将我的变量dataFormat值显示为nil(通过用po dataFormat打印),而变量检查器说这样的变量是不是nil(它等于some的内容)

1 个答案:

答案 0 :(得分:1)

我找到了解决方案

我必须先将AudioStreamBasicDescription初始化,然后再将其作为参考

var dataFormat = AudioStreamBasicDescription.init()

我之所以感到困惑,因为看起来像是通过引用传递一个空的可选模式然后被填充的模式在opaque类型中很常见(我认为)..