[英]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中,我不知道如何获取它的指针,请帮帮我,谢谢
在目标C块中,它采用NSDictionary参数。 使用Swift闭包,闭包已经输入了类型,因此您不必将NSDictionary
声明为类型,甚至不需要-> Void
。 另外, callback:
由于尾随闭包, callback:
中, callback:
也无关紧要,因此您的最终产品应该是:
AlipaySDK.defaultService().payOrder(orderString, fromScheme: self.aliAppScheme) { resultDict in
println("Pay Success")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.