AudioStreamBasicDescription не заполняется, llbd показывает его ноль, инспектор переменных не - PullRequest
0 голосов
/ 25 мая 2018

У меня есть этот фрагмент кода

        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 с содержимым)

1 Ответ

0 голосов
/ 25 мая 2018

Я нашел решение

Мне пришлось инициализировать AudioStreamBasicDescription, прежде чем передать его в качестве ссылки

var dataFormat = AudioStreamBasicDescription.init()

Я запутался, потому что это выглядитнапример, шаблон передачи пустого необязательного объекта по ссылке для заполнения затем встречается у opaque типов (я думаю) ..

...