繁体   English   中英

如何在Swift Closure中获取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中,我不知道如何获取它的指针,请帮帮我,谢谢

在目标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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM