[英]pass function as parameter swift
我想通過
self?.present(mainvc,動畫:真)
作為 function 的參數。
但是,生成的類型是無效的。
那么如何將它作為參數傳遞給另一個 function?
在接收 class 你可以這樣做:
private var myfunc : Func?
func set(_func: @escaping Func) {
self.myfunc = _func
self.myfunc?()
}
首先,您需要定義一個與 function 定義匹配的閉包。
typealias CompletionHandler = (UIViewController, Bool, (() -> Void)?) -> Void
然后聲明一個將這個閉包作為參數的 function
func yourFunction(completionHandler: @escaping CompletionHandler) {
}
在調用“yourFunction”之前,你需要確保你解開自我
guard let strongSelf = self else { return }
然后將“present” function 傳遞給“yourFunction”
strongSelf.yourFunction(completionHandler: present)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.