将 [Float] 转换为变量参数

Convert [Float] to variables arguments

我正在尝试使用 NSString(format: , arg...) 通过递增此标签中的一个或多个值来更新 UILabel。

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

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

如果有人有解决方案,我会洗耳恭听。

有一个

NSString(format: String, arguments argList: CVaListPointer)

将替换值作为 CVaListPointer 的初始化器 (这是 C 中 va_list 的 Swift 等价物)。示例:

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

但是,创建 String 更简单,使用

String(format: String, arguments: [CVarArg])

初始化器,它将替换值作为单个数组参数。示例:

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