我正在使用以下内容通过按钮功能将文本发送到wit.ai:
@IBAction func searchButton(sender: AnyObject) {
searchQueryText = searchTextInput.text!
if searchQueryText != "" {
wit.interpretString(searchQueryText, customData: nil)
}
func interpretString(string: String, customData: AnyObject) {
}
这项工作正常,因为文本被发送到wit.ai.但是我没有得到wit.ai回应应用程序的回复。如果使用麦克风,我可以得到很好的响应,而不是文本。我试过调用witDidGraspIntent函数强制它按下按钮运行,但我无法弄清楚我应该在'outcome'参数中使用什么。有人可以帮忙吗?我不确定按下按钮后是否有不同的方式来运行该功能?这是功能:
func witDidGraspIntent(outcomes: [AnyObject]!, messageId: String!, customData: AnyObject!, error e: NSError!) {
if ((e) != nil) {
print("\(e.localizedDescription)")
return
}
let outcomes : NSArray = outcomes!
let firstOutcome : NSDictionary = outcomes.objectAtIndex(0) as! NSDictionary
if let intent = firstOutcome.objectForKey("intent") as? String {
searchResultsIntent = intent
}
if searchResultsIntent == "searchIntent" {
intentLabel.text = "\(searchResultsIntent)"
print(outcomes[0])
} else {
intentLabel.text = "I'm sorry, I did not understand that."
}
}
这里是wit.ai的文档:https://wit.ai/docs/ios/4.0.0/api
非常感谢任何帮助!
欢呼声。
答案 0 :(得分:0)
Wit sdk为用户提供了一个sharedInstance(singleton),因此您可以像以下一样启动它:
Wit.sharedInstance().accessToken = "TOKEN"
Wit.sharedInstance().delegate = self
并使用sharedInstance调用interpretString函数,即
Wit.sharedInstance().interpretString(text, customData: nil)