在Objective-C中我这样做:
@property (nonatomic, copy) void(^completion)(MyObject * obj);
在swift中执行此操作的正确方法是什么?
答案 0 :(得分:45)
相应的闭包属性将声明为
class MyClass {
var completion : ((MyObject) -> Void)? // or ...! for an implicitly unwrapped optional
}
您可以设置类似
的属性completion = {
(obj : MyObject) -> Void in
// do something with obj ...
}
可以缩短(由于自动类型推断)到
completion = {
obj in
// do something with obj ...
}