所以我正在做我的第一个应用程序, 我想做一个功能,它将成为系统中几个地方的统一功能,而不是只属于一个特定的类。 有没有办法将回调函数作为参数传递给另一个函数?
这只是我的意思的一个演示。
ClassA {
func classAcallbackFunction (displayString: String) {
print (displayString)
}
ClassB().classBFunction(classAcallbackFunction())
}
ClassB {
func classBfunction (myCallbackfunc: func) {
mycallbackfunc("all is working !!!")
}
}
最佳答案
您声明的参数不正确。用这样的东西替换它:
func classBFunction(_ completion: (String) -> Void) {
completion("all working")
}
喜欢 regina_fallangi 分享的在评论中,回调通常称为 completion
处理程序,这就是我相应地替换名称的原因。
额外学分:
如果你只想可选地传递一个函数,你可以这样做:
func classBFunction(_ completion: ((String) -> Void)? = nil) {
completion?("all working")
}
现在您也可以只调用 classBFunction()
。
关于swift - 如何在swift中将回调函数传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51979442/