swift - AudioStreamBasicDescription 未被填充,llbd 显示为 nil,变量检查器没有

标签 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")

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

最佳答案

我找到了解决方案

在将其作为引用传递之前,我必须初始化 AudioStreamBasicDescription

var dataFormat = AudioStreamBasicDescription.init()

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

关于swift - AudioStreamBasicDescription 未被填充,llbd 显示为 nil,变量检查器没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50520772/

相关文章:

ios - UIScrollView 内的 UIButton 禁用滚动

objective-c - ObjC 获取属性名称

ios - iOS:从音频文件获取原始PCM数据

ios - 从 iPhone 应用程序中的数据库读取

python - 用于驱动音频单元乐器的简单音频单元主机

ios - 核心音频离线渲染 GenericOutput

swift - 使用泛型创建结构数组

swift - removeSubrange 产生 '()' ,而不是预期的上下文结果类型 'String'

swift - 检查字典是否包含 Swift 中的值

swift - NSTextView 滚动