swift 如何正确创建空闭包?

fdx2calv  于 2023-05-16  发布在  Swift
关注(0)|答案(2)|浏览(121)

我有一个以闭包作为属性的类:

class MyClass{
     var onChange = {}

     func foo(){
         onChange()
     }
}

在闭包中实现的行为在方法foo中使用:

var c = MyClass()
c.onChange = {
    println("something is changed");
}
c.foo()  // prints 'something is changed'

使用{(n: Int) -> Void in println(n); }这样的参数创建闭包很容易,但如何在没有输入参数的情况下创建闭包呢?
我尝试使用{}{in}等,但它给出了一个编译错误。
如何正确创建空闭包?

w46czmvw

w46czmvw1#

如果我正确理解了你的问题,你可以用途:

var closure = {() -> () in
    return
}
svmlkihl

svmlkihl2#

//类型
typealias EmptyClosure =()-> Void
//设置值
var tryAgain:EmptyClosure?
//click方法的用法
func onClickButton(){ tryAgain?()}

相关问题