如何在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")
}
我需要在我的 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")
}