is it possible to create a generic closure in Swift?

后端 未结 4 1320
一生所求
一生所求 2020-12-30 19:49
func myfunc(i:T) -> T {
    return i
}

is it possible to make this generic function a closure?

let myfunc = {          


        
4条回答
  •  心在旅途
    2020-12-30 20:50

    Probably you need something like this.

    Type declaration:

    typealias ResultClosure = (ResultCode, String?, T?) -> Void
    

    Function declaration:

    func loginUser(userName: String, password: String, resultHandler: ResultClosure?)
    

    Usage:

        NetConnector.shared.loginUser(userName: userName ?? "", password: password ?? "") { (code, message, data) in
            self.display?.unlockScreen()
            if code == .success {
                if let activeToken = data {
                    AppData.shared.userToken = activeToken
                }
                self.display?.showHome()
            } else {
                self.display?.showError(errorMessage: message)
            }
        }
    

提交回复
热议问题