github:https://github.com/potato512/SYSwiftLearning
swift中使用NSTimer,效果图如下:
代码示例:
// 定义常量 let tagLabel = 1000;
// 定义变量 var timer:NSTimer!; var count:NSInteger = 0;
// 实例化方法 func createNSTimer() { // init方法 // self.timer = NSTimer.init(timeInterval: 0.1,target: self,selector: #selector(ViewController.countdown),userInfo: nil,repeats: true); // scheduled方法 self.timer = NSTimer.scheduledTimerWithTimeInterval(0.1,repeats: true); NSRunLoop.currentRunLoop().addTimer(self.timer,forMode: NSRunLoopCommonModes); self.stopNSTimer(); }
// 开始计数 func startNSTimer() { if self.timer == nil { self.createNSTimer(); } self.timer.fireDate = NSDate.distantPast(); }
// 停止计数 func stopNSTimer() { self.timer.fireDate = NSDate.distantFuture(); }
// 注释释放 func killNSTimer() { if (self.timer != nil) { if self.timer.valid { self.timer.invalidate(); self.timer = nil; } } self.count = 0; }
// 计数方法 func countdown() { self.count += 1; let label = self.view.viewWithTag(tagLabel) as! UILabel; label.text = NSString(format:"%d",self.count) as String; }