繁体   English   中英

快速闭包为变量提供功能

[英]Swift closure giving function to variable

class ClassA {

    var callback : (()->())?

    func someAction() {
        callback?()
    }
}

class ClassB {

    func caller() {
        let a = ClassA()
        a.callback = {
            print("hello")
            //d do stuff
        }
    }
}

我想将ClassB回调实现移到单独的函数。 如下

a.callback = somefunc()

但这是不可能的,因为我们要给变量赋值

我不想要

a.callback = { somefunc() }

有没有一种方法可以调用功能?

()添加到someFunc意味着您正在调用该函数,这将求值为someFunc的返回值,即Void

您需要直接引用该函数,而无需调用它。 只需删除()

a.callback = someFunc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM