Beb*_*ead 4 delegates speech-recognition objective-c ios swift3
在大多数情况下,设置委托就像在类中实现委托协议一样简单,并将该类的实例声明为您正在使用的任何实例的委托.
我实际上对SFSpeechRecognizer使用了同样的基本概念,它在我的代码中属于同一个语音框架.(伪代码示例):
class myViewControllerClass: SFSpeechRecognizerDelegate{
let mySpeechRecognizer = SFSpeechRecognizer(...)
viewDidLoad(){
mySpeechRecognizer.delegate = self
}
...
//SFSpeechRecognizerDelegate Functions here
...
}
//This works as expected, woo!
Run Code Online (Sandbox Code Playgroud)
但是,似乎SFSpeechRecognitionTask没有可以设置的委托属性.我尝试在我的课程中实现'SFSpeechRecognitionTaskDelegate'协议,希望它能够神奇地工作.但是,似乎从未调用过委托函数.哪种有意义,因为它无法知道我的视图控制器应该是委托,所以为什么会这样!?
Apple文档介绍了协议本身以及如何使用它:
https://developer.apple.com/reference/speech/sfspeechrecognitiontaskdelegate
但是任务本身的文档没有标识任何委托属性:
https://developer.apple.com/reference/speech/sfspeechrecognitiontask
另外在这里参考SFSpeechRecognizer文档,该文档具有协议AND并且标识您期望的委托属性:
https://developer.apple.com/reference/speech/sfspeechrecognizer
是否有一些替代方法我应该为SFSpeechRecognitionTask设置委托?或者是以完全不同的方式处理?
在SFSpeechRecognizer中有一种方法
func recognitionTask(with request: SFSpeechRecognitionRequest,
delegate: SFSpeechRecognitionTaskDelegate) -> SFSpeechRecognizerTask
Run Code Online (Sandbox Code Playgroud)
您可以在哪里传递SFSpeechRecognizerTask的委托.
| 归档时间: |
|
| 查看次数: |
815 次 |
| 最近记录: |