带有args的Swift函数...传递给带有args的另一个函数

维图

我有一个简单的问题。我尝试在许多博客中搜索有关此问题的信息,但是所有站点都返回了如何快速运行的功能,但我需要这种情况。

我的自定义函数是:

func getLocalizeWithParams(args:CVarArgType...)->String {
     return NSString.localizedStringWithFormat(self, args); //error: Expected expression in list of expressions
}

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

谢谢前进。

马丁·R

与(Objective-)C中类似,您不能将变量参数列表直接传递给另一个函数。您必须创建一个CVaListPointer(与va_listC语言中的Swift等效)并调用一个带有CVaListPointer参数的函数

因此,这可能是您要寻找的内容:

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/5开始,可以将参数传递给

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

直接地:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python 3将一个函数传递给另一个函数

来自分类Dev

在oop中将私有函数传递给另一个类是否被认为合适?

来自分类Dev

在Swift中将可变数量的args从一个函数传递给另一个函数

来自分类Dev

将一个函数的参数传递给另一个函数?

来自分类Dev

将一个函数传递给另一个函数并调用它

来自分类Dev

将带有字符串的数组传递给另一个类,并将int传递给另一个类

来自分类Dev

如何从具有参数的另一个函数中调用带有参数的函数?

来自分类Dev

如何将以args作为参数的成员函数传递给另一个成员函数?

来自分类Dev

在熊猫中应用带有args的函数

来自分类Dev

将参数传递给另一个带有空格的Bash文件

来自分类Dev

如何在Python中使用另一个函数调用带有参数的函数

来自分类Dev

如何将带有参数作为参数的函数传递给Python中的另一个函数?

来自分类Dev

无法使用带有* args参数的函数的jit编译函数

来自分类Dev

将具有不同数量参数的函数传递给另一个函数C ++

来自分类Dev

如何将带有对象引用的函数传递给另一个函数以执行

来自分类Dev

是否可以将一个属性值作为参数传递给通过函数计算其值的另一个属性?(在带有类的Javascript ES6中)

来自分类Dev

如何将带有另一个字符串枚举的键的枚举传递给接受字符串的函数?

来自分类Dev

将具有任意数量参数的任何函数传递给另一个函数

来自分类Dev

如何在Kotlin中的另一个函数中调用带有参数的函数

来自分类Dev

ctypes-将带有指针的结构传递给另一个结构

来自分类Dev

在Swift中将可变数量的args从一个函数传递给另一个函数

来自分类Dev

从另一个函数调用带有对象参数的函数

来自分类Dev

将所有类方法传递给Ruby on Rails中的另一个函数

来自分类Dev

如何在没有预定义的情况下将javascript函数传递给另一个函数?

来自分类Dev

将一个方法作为参数传递给另一个方法,但带有参数

来自分类Dev

带有参数的循环函数在另一个带有参数的循环函数中

来自分类Dev

我可以将一个函数传递给另一个函数,该函数调用具有依赖性的函数吗?

来自分类Dev

如何将函数的所有参数传递给另一个命令?

来自分类Dev

将带有自动参数的 lambda 传递给另一个函数是否合法

Related 相关文章

  1. 1

    Python 3将一个函数传递给另一个函数

  2. 2

    在oop中将私有函数传递给另一个类是否被认为合适?

  3. 3

    在Swift中将可变数量的args从一个函数传递给另一个函数

  4. 4

    将一个函数的参数传递给另一个函数?

  5. 5

    将一个函数传递给另一个函数并调用它

  6. 6

    将带有字符串的数组传递给另一个类,并将int传递给另一个类

  7. 7

    如何从具有参数的另一个函数中调用带有参数的函数?

  8. 8

    如何将以args作为参数的成员函数传递给另一个成员函数?

  9. 9

    在熊猫中应用带有args的函数

  10. 10

    将参数传递给另一个带有空格的Bash文件

  11. 11

    如何在Python中使用另一个函数调用带有参数的函数

  12. 12

    如何将带有参数作为参数的函数传递给Python中的另一个函数?

  13. 13

    无法使用带有* args参数的函数的jit编译函数

  14. 14

    将具有不同数量参数的函数传递给另一个函数C ++

  15. 15

    如何将带有对象引用的函数传递给另一个函数以执行

  16. 16

    是否可以将一个属性值作为参数传递给通过函数计算其值的另一个属性?(在带有类的Javascript ES6中)

  17. 17

    如何将带有另一个字符串枚举的键的枚举传递给接受字符串的函数?

  18. 18

    将具有任意数量参数的任何函数传递给另一个函数

  19. 19

    如何在Kotlin中的另一个函数中调用带有参数的函数

  20. 20

    ctypes-将带有指针的结构传递给另一个结构

  21. 21

    在Swift中将可变数量的args从一个函数传递给另一个函数

  22. 22

    从另一个函数调用带有对象参数的函数

  23. 23

    将所有类方法传递给Ruby on Rails中的另一个函数

  24. 24

    如何在没有预定义的情况下将javascript函数传递给另一个函数?

  25. 25

    将一个方法作为参数传递给另一个方法,但带有参数

  26. 26

    带有参数的循环函数在另一个带有参数的循环函数中

  27. 27

    我可以将一个函数传递给另一个函数,该函数调用具有依赖性的函数吗?

  28. 28

    如何将函数的所有参数传递给另一个命令?

  29. 29

    将带有自动参数的 lambda 传递给另一个函数是否合法

热门标签

归档