Xcode 使用 AVAudioInputNode 为条件绑定抛出初始化器
Xcode throws Initializer for conditional binding using AVAudioInputNode
我正在寻找解决方法 Xcode 并尝试使用 Apple 开发者网站 (link)
上的指南构建一个基本的实时转录应用程序
以下行抛出如下所示的错误:
guard let inputNode = audioEngine.inputNode else { fatalError("Audio engine has no input node") }
"Initializer for conditional binding must have Optional type, not
AVAudioInputNode"
我检查了每个 Whosebug post 都出现了类似的错误,但没有任何效果。我什至从上面 link 下载了 Apple 的项目,他们的代码没有错误。我将代码从他们的项目复制到我的项目中,以防我在某个地方犯了一个愚蠢的错误,但在我的项目中,完全相同的代码总是抛出异常。
我正在使用 Xcode 9.2,我正在为 iOS 11 开发。
谢谢!
你案例中的 guard 语句是多余的。 inputNode
不是可选的,因此它永远不能保持 nil 值。因此,对此进行保护是多余的,因此会出现错误消息。
您可以省略 guard 语句及其 else 块,将其替换为:
let inputNode = audioEngine.inputNode
我正在寻找解决方法 Xcode 并尝试使用 Apple 开发者网站 (link)
上的指南构建一个基本的实时转录应用程序以下行抛出如下所示的错误:
guard let inputNode = audioEngine.inputNode else { fatalError("Audio engine has no input node") }
"Initializer for conditional binding must have Optional type, not AVAudioInputNode"
我检查了每个 Whosebug post 都出现了类似的错误,但没有任何效果。我什至从上面 link 下载了 Apple 的项目,他们的代码没有错误。我将代码从他们的项目复制到我的项目中,以防我在某个地方犯了一个愚蠢的错误,但在我的项目中,完全相同的代码总是抛出异常。
我正在使用 Xcode 9.2,我正在为 iOS 11 开发。
谢谢!
你案例中的 guard 语句是多余的。 inputNode
不是可选的,因此它永远不能保持 nil 值。因此,对此进行保护是多余的,因此会出现错误消息。
您可以省略 guard 语句及其 else 块,将其替换为:
let inputNode = audioEngine.inputNode