条件绑定的初始化程序必须具有可选类型,而不是“AVAudioInputNode”
Posted
技术标签:
【中文标题】条件绑定的初始化程序必须具有可选类型,而不是“AVAudioInputNode”【英文标题】:Initializer for conditional binding must have Optional type, not 'AVAudioInputNode' 【发布时间】:2018-03-13 02:54:14 【问题描述】:导致上述错误的原因以及如何解决?
func cancelRecording()
audioEngine.stop()
if let node = audioEngine.inputNode
node.removeTap(onBus: 0)
recognitionTask?.cancel()
【问题讨论】:
【参考方案1】:编译器告诉你不能使用 if let 因为它完全没有必要。您没有任何要解包的选项:audioEngine 不是可选的,inputNode 属性也不是可选的。 if let 专门用于解包选项。如果您想创建一个名为 node 的新常量,只需这样做:
if let node = audioEngine?.inputNode
node.removeTap(onBus: 0)
【讨论】:
先生,我想问你一些关于alexa语音服务的问题 @JhonDonCaylog 是的,请告诉 alexa 语音服务您想要什么? 您是否尝试过将 alexa 语音服务集成到 ios 应用程序中? 还没有,但你可以告诉我你面临的问题吗? 我想将使用 api.ai 的 alexa 语音服务集成到 Ios App Sir 中。以上是关于条件绑定的初始化程序必须具有可选类型,而不是“AVAudioInputNode”的主要内容,如果未能解决你的问题,请参考以下文章
如何修复条件绑定的初始化程序必须具有可选类型,而不是“字符串”? [复制]
条件绑定的初始化程序必须具有可选类型,而不是“UIView”
条件绑定的初始化程序必须具有可选类型,而不是“AVAudioInputNode”
条件绑定的初始化程序必须具有可选类型,而不是“UIView”