大佬教程收集整理的这篇文章主要介绍了带有args的Swift函数…使用args传递给另一个函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
func getLocalizeWithParams(args:CVarArgType...)->String { return NSString.localizedStringWithFormat(self,args); //error: Expected expression in list of expressions }
我如何通过args将我的args传递给其他系统函数?
谢谢你.
所以这可能是你正在寻找的:
extension String { func getLocalizeWithParams(args : CVarArgType...) -> String { return withVaList(args) { NSString(format: self,locale: NSLocale.currentLocale(),arguments: $0) } as String } }
withVaList()从给定的参数列表创建一个CVaListPointer
并使用此指针作为参数调用闭包.
示例(来自NSString文档):
let msg = "%@: %f\n".getLocalizeWithParams("Cost",1234.56) print(msg)
美国语言环境的输出:
Cost: 1,234.560000
德语区域设置的输出:
Cost: 1.234,560000
更新:从Swift 3/4开始,可以将参数传递给
String(format: String,locale: Locale?,arguments: [CVarArg])
直:
extension String { func getLocalizeWithParams(_ args : CVarArg...) -> String { return String(format: self,locale: .current,arguments: args) } }
以上是大佬教程为你收集整理的带有args的Swift函数…使用args传递给另一个函数全部内容,希望文章能够帮你解决带有args的Swift函数…使用args传递给另一个函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。