我正在使用nstimer来运行每60秒更改一次文本的代码。 我想知道是否有人知道如何跳过60秒的迭代。假设用户不想读取当前显示的文本,此时他们仍需要等待60秒。 有没有办法立即按下按钮点击下一个60秒的循环?
这是我到目前为止所做的:
var array : String[]()
var x = 0
@IBAction func playBtnPressed(sender: UIButton)
{
update()
timer = NSTimer.scheduledTimerWithTimeInterval(60, target: self, selector: #selector(PlayVC.update), userInfo: nil, repeats: true)
}
func update()
{
if x < array.count {
let item = array[x]
aLbl.text = array.itemTitle
x += 1
}
}
@IBAction func skipBtnPressed(sender: UIButton)
{
}
提前感谢您提供给我的任何指导! :)
答案 0 :(得分:0)
在skipBtnPressed()中,您应首先使计时器无效,更新数据,然后设置另一个计时器。喜欢这个
@IBAction func skipBtnPressed(sender: UIButton)
{
timer.invalidate()
update()
timer = NSTimer.scheduledTimerWithTimeInterval(60, target: self, selector: #selector(PlayVC.update), userInfo: nil, repeats: true)
}