簡體   English   中英

通過 function 作為參數 swift

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM