将 [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
我正在尝试使用 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