如何在Swift闭包中获取Objective-C块输入参数

How to get Objective-C block input parameter in Swift Closure

我需要在我的 Swift 项目中使用 Objective-C SDK,Objc 演示在下面

[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
   NSLog(@"reslut = %@",resultDic);
}];

它将一个块传递给 payOrder:orderString:: 函数,但是当我在 Swift 中调用它时,自动完成帮助我生成这些代码

AlipaySDK.defaultService().payOrder(orderString, fromScheme: self.aliAppScheme, callback: { ([NSObject : AnyObject]!) -> Void in
    println("Pay Success")
})

在Swift中闭包输入参数没有名称,在Objc中它命名为resultDict,但在Swift中我不知道如何获取它的指针,请帮助我,谢谢

在objective C块中,它接受一个NSDictionary参数。使用 Swift 闭包,闭包已经是类型化的,因​​此您不必将 NSDictionary 声明为类型,您甚至不需要 -> Void。另外 , callback: 在 Swift 中也是无关紧要的,因为尾随闭包所以你的最终产品应该是:

AlipaySDK.defaultService().payOrder(orderString, fromScheme: self.aliAppScheme) { resultDict in
    println("Pay Success")
}