传递函数作为参数swift
我想通过考试 self?.presentmainvc,动画:真 将其作为参数转换为函数 但是,生成的类型是void传递函数作为参数swift,swift,Swift,我想通过考试 self?.presentmainvc,动画:真 将其作为参数转换为函数 但是,生成的类型是void 那么如何将其作为参数传递给另一个函数呢?在接收类中,您可以这样做: private var myfunc : Func? func set(_func: @escaping Func) { self.myfunc = _func self.myfunc?() } 首先,您需要定义一个与函数定义匹配的闭包 typealias CompletionHandler =
那么如何将其作为参数传递给另一个函数呢?在接收类中,您可以这样做:
private var myfunc : Func?
func set(_func: @escaping Func) {
self.myfunc = _func
self.myfunc?()
}
首先,您需要定义一个与函数定义匹配的闭包
typealias CompletionHandler = (UIViewController, Bool, (() -> Void)?) -> Void
然后声明一个将此闭包作为参数的函数
func yourFunction(completionHandler: @escaping CompletionHandler) {
}
在调用函数之前,您需要确保打开self
guard let strongSelf = self else { return }
然后将当前函数传递给您的函数
strongSelf.yourFunction(completionHandler: present)