当前位置:  开发笔记 > IOS > 正文

如何设置SFSpeechRecognitionTask的委托?

如何解决《如何设置SFSpeechRecognitionTask的委托?》经验,为你挑选了1个好方法。

在大多数情况下,设置委托就像在类中实现委托协议一样简单,并将该类的实例声明为您正在使用的任何实例的委托.

我实际上对SFSpeechRecognizer使用了同样的基本概念,它在我的代码中属于同一个语音框架.(伪代码示例):

class myViewControllerClass: SFSpeechRecognizerDelegate{

let mySpeechRecognizer = SFSpeechRecognizer(...)

viewDidLoad(){
mySpeechRecognizer.delegate = self
}
...

//SFSpeechRecognizerDelegate Functions here
...

}  
//This works as expected, woo!

但是,似乎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设置委托?或者是以完全不同的方式处理?



1> TheAmateurPr..:

在SFSpeechRecognizer中有一种方法

func recognitionTask(with request: SFSpeechRecognitionRequest, 
        delegate: SFSpeechRecognitionTaskDelegate) -> SFSpeechRecognizerTask

您可以在哪里传递SFSpeechRecognizerTask的委托.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有