如何正确创建空闭包?
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
}
我有一个 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
}