如何正确创建空闭包?

How to create empty closure properly?

我有一个 class 闭包 属性:

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}等,但是编译报错

如何正确创建空闭包?

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

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