我有一组值。我想使用 CVarArg 将这些 values 传递为字符串格式。
let values = ["VAL1", "VAL2", "VAL3"]
let format = "Val 1 -> %1$@ Val 2 -> %2$@ Val 3 -> %3$@"
let varArg: CVarArg = // How to convert array to CVarArg?
let result = String(format: format, varArg)
如何将数组转换为CVarArg?
@leo-dabus 几乎做对了。对于上面的示例,其中
values
定义为:
let values = ["VAL1", "VAL2", "VAL3"]
将数组转换为
CVarArg
参数应定义为:
let cVarArgValues = values as [CVarArg]
这将为您提供单个数组中 3 个不同值的所需格式的
cVarArgValues
; ["VAL1", "VAL2", "VAL3"]
。
如果您不将
CVarArg
包装在 []
中,您将获得一个有效但不正确的参数列表,其中包含将 values
作为内部数组包装的单值数组; [["VAL1", "VAL2", "VAL3"]]
。