【问题标题】:Add function to timer为定时器添加功能
【发布时间】:2015-09-04 19:22:06
【问题描述】:

如果我想在计时器达到 0 时尽快添加一个函数。 有没有人有任何提示?这是我要实现它的代码。

class ViewController: UIViewController {
    @IBOutlet weak var Counterlabel: UILabel!
    var Nbr = 51
    var timerValue = 52
    var timer = NSTimer()

    override func viewDidLoad() {
        super.viewDidLoad()
        let timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("Counter"), userInfo: nil, repeats: true)
    }

    @IBAction func Btn1(sender: AnyObject) {
        Nbr = timerValue - 1
        timerValue = timerValue - 1;
    }

    func Counter(){
        Nbr -= 1
        Counterlabel.text = "\(Nbr)"
    }
}

【问题讨论】:

    标签: ios swift function timer xcode6


    【解决方案1】:

    像这样根据你的定时器调用一个有延迟的函数,

    func delay(delay:Double, closure:()->()) {
         dispatch_after(
              dispatch_time(
                   DISPATCH_TIME_NOW,
                   Int64(delay * Double(NSEC_PER_SEC))
              ),
         dispatch_get_main_queue(), closure)
    }
    
    delay(Double(self.Nbr)) {
        //Do your work here
    }
    

    以上函数引用自here

    【讨论】:

    • 非常感谢,非常感谢:)
    【解决方案2】:

    试试这个:

       var countDown = 0 
    
        func Counter()
      {
         countDown--;
         if countDown == 0 
        {
           // reset the timer     
        }
      }
    

    【讨论】:

      猜你喜欢
      • 2012-03-04
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 2020-05-13
      相关资源
      最近更新 更多