Swift 将[Float]变量转换为参数

Swift 将[Float]变量转换为参数,swift,variables,arguments,nsstring,Swift,Variables,Arguments,Nsstring,我正试图使用NSString(格式:,arg…通过递增此标签中的一个或多个值来更新UILabel 要做到这一点,我有一个函数,在这里我以Float…(这是我想要的)的形式接收参数,我找到的存储它们的唯一解决方案是使用数组[Float](这不是我想要的)。 然后,我修改数组的每个值以显示它 要修改UILabel的文本,我正在使用label.text=NSString(格式:“%f和%f”,myArrayOfFloat),但它不起作用。NSString将数组作为单个值,而不是数组 如果有人有解决办法

我正试图使用
NSString(格式:,arg…
通过递增此标签中的一个或多个值来更新UILabel

要做到这一点,我有一个函数,在这里我以
Float…
(这是我想要的)的形式接收参数,我找到的存储它们的唯一解决方案是使用数组
[Float]
(这不是我想要的)。 然后,我修改数组的每个值以显示它

要修改UILabel的文本,我正在使用
label.text=NSString(格式:“%f和%f”,myArrayOfFloat)
,但它不起作用。NSString将数组作为单个值,而不是数组

如果有人有解决办法,我洗耳恭听。

有一个解决办法

NSString(format: String, arguments argList: CVaListPointer)
将替换值作为
CVaListPointer
(这是C中的Swift等价于
va_list
)。例如:

let myArrayOfFloat: [Float] = [1.2, 3.4]
let text = withVaList(myArrayOfFloat) {
    NSString(format: "%f and %f", arguments: $0)
}
print(text) // 1.200000 and 3.400000
let myArrayOfFloat: [Float] = [1.2, 3.4]
let text = String(format: "%f and %f", arguments: myArrayOfFloat)
print(text) // 1.200000 and 3.400000
但是,使用

String(format: String, arguments: [CVarArg])
初始值设定项,它将替换值作为单个数组参数。例如:

let myArrayOfFloat: [Float] = [1.2, 3.4]
let text = withVaList(myArrayOfFloat) {
    NSString(format: "%f and %f", arguments: $0)
}
print(text) // 1.200000 and 3.400000
let myArrayOfFloat: [Float] = [1.2, 3.4]
let text = String(format: "%f and %f", arguments: myArrayOfFloat)
print(text) // 1.200000 and 3.400000

是的,那正是我想要的!谢谢;)