我尝试使用NSString(format: , arg...)
通过增加此标签中的一个或多个值来更新UILabel。
要做到这一点,我有一个函数,我接收args为Float...
(这是我想要的),我发现存储它们的唯一解决方案是使用数组[Float]
(这不是我想要的)。
然后,我修改我的数组的每个值来显示它。
要修改我的UILabel的文本,我使用的是label.text = NSString(format: "%f and %f", myArrayOfFloat)
,但它不起作用。 NSString将数组作为单个值,而不是数组。
如果有人有解决方案,我全心全意。
答案 0 :(得分:1)
有一个
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: $0)
}
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