func speak(text:String, onComplete:()->()) {
mySpeechUtterance = AVSpeechUtterance(string: text)
mySpeechSynthesizer.speakUtterance(mySpeechUtterance)
onComplete()
}
我的问题是:我怎么称呼这种方法?
speechSynthesizer.speak(actions[0], onComplete: "here")
答案 0 :(得分:0)
有很多选择。在这种情况下最简单的是考虑onComplete
是下一个闭包的最后一个闭包:
speechSynthesizer.speak(actions[0]) {
# onComplete code goes here
}
关于问题中函数定义的注释。应该是
func speak(text:String, onComplete: () -> Void) {...}
答案 1 :(得分:0)
通过关闭。
speechSynthesizer.speak(actions.first) {
// code to be executed after speaking
}
这与
相同speechSynthesizer.speak(actions.first, onComplete: {
// code to be executed after speaking
})
但显然,尾随闭包语法看起来更清晰。
说明:
()
表示“没有参数的函数”,-> ()
表示“没有返回值”。