繁体   English   中英

迅捷-如何在NSTimer中使用FIRE()

[英]swift - how use FIRE() in NSTimer

我需要一个周期中2.5秒钟的5倍周期,但是,一个按钮诱饵的压力来自单个周期,而不会中断调度。 我使用fire方法(按下按钮)来停止重复计时器,而不会中断其常规点火时间表,但是我不知道,后续周期比定义的2.5秒短:

.......

@IBAction func buttonZeroPressed(sender: AnyObject) {

    timer.fire()
    ++addWin
}

......

timer = NSTimer.scheduledTimerWithTimeInterval(2.5, target: self,
        selector: Selector("levelOne"), userInfo:nil,repeats: true)

......

func levelOne() {

    level = 1
    count++
    changePhoto()
    if (count  >= 5) {
        timer.invalidate()
       }
}

按下3后,计时器似乎为2.5秒,我不明白为什么!

fire()方法是如何启动已创建但未计划的计时器的方法。 您要使用invalidate()停止计时器。

@IBAction func buttonZeroPressed(sender: AnyObject) {
    timer.invalidate()
    ++addWin
}

自从您调用scheduledTimerWith...您的计时器将立即启动。 如果您想创建一个不启动的计时器,则可以使用:

timer = NSTimer(timeInterval: 2.5, target: self, selector: Selector("levelOne"), userInfo:nil,repeats: true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM