条件绑定的初始化器必须是 Optional 类型,而不是 'AVAudioInputNode'
Initializer for conditional binding must have Optional type, not 'AVAudioInputNode'
导致上述错误的原因是什么以及如何解决?
func cancelRecording() {
audioEngine.stop()
if let node = audioEngine.inputNode {
node.removeTap(onBus: 0)
}
recognitionTask?.cancel()
}
编译器告诉您不能使用 if let,因为它完全没有必要。您没有任何可选项要解包:audioEngine 不是可选的,inputNode 属性 也不是可选的。 if let 专门用于解包可选值。如果你想创建一个名为 node 的新常量,就这样做:
if let node = audioEngine?.inputNode {
node.removeTap(onBus: 0)
}
导致上述错误的原因是什么以及如何解决?
func cancelRecording() {
audioEngine.stop()
if let node = audioEngine.inputNode {
node.removeTap(onBus: 0)
}
recognitionTask?.cancel()
}
编译器告诉您不能使用 if let,因为它完全没有必要。您没有任何可选项要解包:audioEngine 不是可选的,inputNode 属性 也不是可选的。 if let 专门用于解包可选值。如果你想创建一个名为 node 的新常量,就这样做:
if let node = audioEngine?.inputNode {
node.removeTap(onBus: 0)
}