Ios 使用uitextfield停止计时器(swift4)
我希望用户在文本字段中输入一个数字,当计时器点击该数字时,计时器停止。我现在正在尝试,但它说我不能使用布尔运算符来实现这一点Ios 使用uitextfield停止计时器(swift4),ios,timer,int,swift4,textfield,Ios,Timer,Int,Swift4,Textfield,我希望用户在文本字段中输入一个数字,当计时器点击该数字时,计时器停止。我现在正在尝试,但它说我不能使用布尔运算符来实现这一点 import UIKit class ViewController: UIViewController { @IBOutlet var playbutton: UIButton! @IBOutlet var titlelabel: UILabel! @IBOutlet var judo: UITextField! var timer : Timer? v
import UIKit
class ViewController: UIViewController {
@IBOutlet var playbutton: UIButton!
@IBOutlet var titlelabel: UILabel!
@IBOutlet var judo: UITextField!
var timer : Timer?
var counter = 0.0
var isRunning = false
override func viewDidLoad() {
super.viewDidLoad()
titlelabel.text = "\(counter)"
playbutton.isEnabled = true
}
@IBAction func btnplay(_ sender: UIButton) {
if timer == nil {
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(UpdateTime), userInfo: nil, repeats: true)
playbutton.isEnabled = false
}
}
@objc func UpdateTime(){
counter += 0.1
titlelabel.text = String(format: "%.1f", counter)
if counter >= (Int(judo.text!)) {
timer?.invalidate()
timer = nil
}
}
}
不能对类型为
Double
和Int
的操作数使用二进制运算符计数器
是双精度
因此右操作数必须是双精度
let max = Double(judo.text ?? "") ?? 0.0
if counter >= max {
timer?.invalidate()
timer = nil
}