我正在学习这门语言,我正在努力制作一个秒表和倒数计时器应用程序。 我为秒表做了一切,但倒数计时器给我带来了麻烦。
我有一个Picker View来将标签设置为它应该倒数的标签。那是我遇到麻烦的地方。我似乎无法弄清楚如何让NSTimer从用户从Picker View中选择的内容进行倒计时。
//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){
var displayTime = "\(numbers[row])"
timerDisplay.text = String(displayTime--) **LINE THAT GIVES ERROR**
timeInMilliseconds -= 0.01
}
这就是我对选择器视图的看法。如果您需要查看更多代码来帮助我,请告诉我们。 任何帮助表示赞赏。 谢谢。
答案 0 :(得分:0)
如果要在文本中显示“.00”部分,则需要提取整数以进行算术运算。
类似的东西:
var text = ""
var whole: Int? = nil
if let index = numbers[row].rangeOfString(".") {
whole = numbers[row].substringToIndex(index.startIndex).toInt()
}
if whole != nil {
text = "\(whole! - 1).00"
}