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, target: self, selector: #selector(ViewController.countdown), userInfo: nil, 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;
}