2015-09-04 54 views
0

如果我想添加一個函數,就像計時器打到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)" 
    } 
} 

回答

0

呼叫根據您的計時器這樣有延時功能,

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

+0

非常感謝你,真的很感謝:) –

0

嘗試引用這個:

var countDown = 0 

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

謝謝y ou :)真的很好 –