我正在学习 Swift 语言,我想让一个标签等于 PickerView 选择的标签。我正在制作一个倒数计时器来学习语言并了解 NSTimer 的计时。我正在尝试将 double 字转换为字符串,即 UILabel。
这就是我对 PickerView 的看法。 //UIPickerView
var numbers = [1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00,8.00, 9.00, 10.00, 11.00,12.00, 13.00, 14.00, 15.00, 16.00, 17.00, 18.00, 19.00, 20.00]
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return numbers.count
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
return numbers[row]
}
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int){
subtractNumbers(\(numbers))
}
func subtractNumbers(number: Double) -> Double {
return number - 0.01
}
我已经研究了一点,我很确定我必须以某种方式格式化它。 任何帮助表示赞赏。 请解释你的答案!
最佳答案
问题与以下功能有关:
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
{
return numbers[row]
}
String
中函数的返回类型,但您返回的是 Double
。
改成这样:
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
{
return "\(numbers[row])";
}
您的以下代码中还有一个问题:
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
subtractNumbers(\(numbers))
}
您正在传递整个数组而不是选定的值。因此,将代码更改为:
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, inComponent component: Int)
{
subtractNumbers(numbers[row])
}
关于ios - SWIFT - 'double' 不可转换为 'string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27697307/