【发布时间】:2020-08-12 17:48:20
【问题描述】:
我正在使用带有repeats: false 的计时器,所以它会运行一次,在达到我想停止执行计时器的时间延迟之前运行一次。
timer?.invalidate()
timer = nil
//is not working
下面的代码 sn-p 是我尝试过的示例
var timer : Timer?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
timer = Timer()
}
@IBAction func startAction(_ sender: Any) {
timer = Timer.scheduledTimer(withTimeInterval: 10.0, repeats: false, block: { (make) in
print("ack did")
})
}
@IBAction func cancelAction(_ sender: Any) {
timer?.invalidate()
}
所以首先我点击开始,所以计时器启动并等待指定的 10 秒, 我希望当用户点击取消时停止执行。在此先感谢:)
【问题讨论】: