Error[8]: Undefined offset: 7, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述我有一个简单的问题.我尝试在很多博客中搜索这个问题但是所有网站都返回了如何快速工作的功能,但我需要这个案例. 我的自定义功能是: func getLocalizeWithParams(args:CVarArgType...)->String { return NSString.localizedStringWithFormat(self, args); //error: Expected 我有一个简单的问题.我尝试在很多博客中搜索这个问题但是所有网站都返回了如何快速工作的功能,但我需要这个案例.

我的自定义功能是:

func getLocalizeWithParams(args:CVarargType...)->String {     return Nsstring.localizedStringWithFormat(self,args); //error: Expected Expression in List of Expressions}

我如何通过args将我的args传递给其他系统函数

谢谢你.

与(Objective-)C类似,您无法传递变量参数列表
直接到另一个功能.您必须创建一个CVaListPointer
(Swift相当于C中的va_List)并调用一个函数
采用CVaListPointer参数.

所以这可能是你正在寻找的:

extension String {    func getLocalizeWithParams(args : CVarargType...) -> String {        return withVaList(args) {            Nsstring(format: self,locale: NSLocale.currentLocale(),arguments: 
let msg = "%@:  %f\n".getLocalizeWithParams("Cost",1234.56)print(msg)
) } as String }}

withVaList()从给定的参数列表创建一个CVaListPointer
并使用此指针作为参数调用闭包.

示例(来自Nsstring文档):

Cost:  1,234.560000

美国语言环境的输出:

Cost:  1.234,560000

德语区域设置的输出:

String(format: String,locale: Locale?,arguments: [CVararg])

更新:从Swift 3/4开始,可以将参数传递给

extension String {    func getLocalizeWithParams(_ args : CVararg...) -> String {        return String(format: self,locale: .current,arguments: args)    }}

直:

[+++] 总结

以上是内存溢出为你收集整理的带有args的Swift函数…使用args传递给另一个函数全部内容,希望文章能够帮你解决带有args的Swift函数…使用args传递给另一个函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 166, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
带有args的Swift函数…使用args传递给另一个函数_app_内存溢出

带有args的Swift函数…使用args传递给另一个函数

带有args的Swift函数…使用args传递给另一个函数,第1张

概述我有一个简单的问题.我尝试在很多博客中搜索这个问题但是所有网站都返回了如何快速工作的功能,但我需要这个案例. 我的自定义功能是: func getLocalizeWithParams(args:CVarArgType...)->String { return NSString.localizedStringWithFormat(self, args); //error: Expected 我有一个简单的问题.我尝试在很多博客中搜索这个问题但是所有网站都返回了如何快速工作的功能,但我需要这个案例.

我的自定义功能是:

func getLocalizeWithParams(args:CVarargType...)->String {     return Nsstring.localizedStringWithFormat(self,args); //error: Expected Expression in List of Expressions}

我如何通过args将我的args传递给其他系统函数

谢谢你.

与(Objective-)C类似,您无法传递变量参数列表
直接到另一个功能.您必须创建一个CVaListPointer
(Swift相当于C中的va_List)并调用一个函数
采用CVaListPointer参数.

所以这可能是你正在寻找的:

extension String {    func getLocalizeWithParams(args : CVarargType...) -> String {        return withVaList(args) {            Nsstring(format: self,locale: NSLocale.currentLocale(),arguments: 
let msg = "%@:  %f\n".getLocalizeWithParams("Cost",1234.56)print(msg)
) } as String }}

withVaList()从给定的参数列表创建一个CVaListPointer
并使用此指针作为参数调用闭包.

示例(来自Nsstring文档):

Cost:  1,234.560000

美国语言环境的输出:

Cost:  1.234,560000

德语区域设置的输出:

String(format: String,locale: Locale?,arguments: [CVararg])

更新:从Swift 3/4开始,可以将参数传递给

extension String {    func getLocalizeWithParams(_ args : CVararg...) -> String {        return String(format: self,locale: .current,arguments: args)    }}

直:

总结

以上是内存溢出为你收集整理的带有args的Swift函数…使用args传递给另一个函数全部内容,希望文章能够帮你解决带有args的Swift函数…使用args传递给另一个函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1048361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存