繁体   English   中英

Swift:无法在NSSpeechRecognizer中设置命令

[英]Swift: unable to set commands in NSSpeechRecognizer

我对setCommands有问题。 我无法在项目中设置setCommands的命令。 在viewDidLoad中,我尝试了SR.setCommands =命令,但出现错误,提示“'NSSpeechRecognizer'没有名为'setCommands'的成员”,对此有任何帮助吗?

class ViewController: NSViewController, NSSpeechRecognizerDelegate {

@IBOutlet weak var Label: NSTextField!

var SR:NSSpeechRecognizer = NSSpeechRecognizer()
var commands: [AnyObject]? = ["word","sad","happy"]

override func viewDidLoad() {
    super.viewDidLoad()

    SR.setCommands = commands //Error
}

override var representedObject: AnyObject? {
    didSet {
    // Update the view, if already loaded.
    }
}

@IBAction func Listen(sender: AnyObject) {
    SR.startListening(); print("listening")
}

func speechRecognizer(sender: NSSpeechRecognizer,
    didRecognizeCommand command: AnyObject?){

        if (command as String == "word")
        {
            println("Hello")
        }
        else
        {
            println("NotWord")
        }

    }

@IBAction func Stop(sender: AnyObject) {
    SR.stopListening()
}

}

采用:

SR.commands = commands

您正在将点符号与旧的Obj-C风格的设置器混合在一起。

您也可以将let用作语音识别器,而无需说明任何一个的类型。 Swift会推断出:

let SR = NSSpeechRecognizer()
var commands = ["word","sad","happy"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM