ios - SWIFT - 'double' 不可转换为 'string'

标签 ios xcode swift uipickerview

我正在学习 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/

相关文章:

ios - 从本地通知启动应用程序; VC实例化,但没有出现

ios - 在 iphone 和 Apple Watch 之间共享对象数组

iOS - "Upload progress view"喜欢新的 facebook 应用程序

ios - XCode 6.1 SWIFT 打字速度非常慢

ios - 如何在 tableview 单元格内的 Collection View 中传递多维数组?

c++ - 我需要做什么才能让 cocoapods 使用 C++ 构建?

xcode - SWIFT:init 和 super.init 之间的区别

iPhone编程: avaudioplayer leaks memory on play

json - map 字典 [字符串 :Any] to class

java - 将 ios Swift 函数转换为 java(android)