所以我正在做我的第一个应用程序, 我想做一个对系统中几个地方具有统一功能的函数,而不仅仅是一个特定的类。 我有办法将回调函数作为参数传递给另一个函数吗?
这只是我的意思的证明。
ClassA {
func classAcallbackFunction (displayString: String) {
print (displayString)
}
ClassB().classBFunction(classAcallbackFunction())
}
ClassB {
func classBfunction (myCallbackfunc: func) {
mycallbackfunc("all is working !!!")
}
}
答案 0 :(得分:3)
您声明的参数不正确。像这样替换它:
func classBFunction(_ completion: (String) -> Void) {
completion("all working")
}
就像regina_fallangi在评论中一样,回调通常称为completion
处理程序,这就是为什么我相应地替换了名称的原因。
额外功劳:
如果您只想可选地传递函数,则可以执行以下操作:
func classBFunction(_ completion: ((String) -> Void)? = nil) {
completion?("all working")
}
现在您也可以致电classBFunction()
。