ObjC在Swift中委托回调

时间:2015-12-19 11:46:31

标签: ios objective-c swift

在ObjC中,我有一个声明为

的函数
-(void)fubar:(void(^)(NSDictionary *))callback;

这是我将在ObjC中使用的方式

fubar(^(NSDictionary *dict) {
   console.log(dict);
})

如何在桥接后在Swift中使用相同的功能?

1 个答案:

答案 0 :(得分:1)

因为它是最后一个参数,所以它可以用作尾随闭包:

fubar { (dict) in
  print(dict) // prints dictionary 
}

甚至更短

fubar() { 
  print($0) // prints dictionary
}

Read the section on Trailing Closures in Apple's Swift book for more info.