直接上代码:
//
// ViewController.swift
// TimerClock
//
// Created by luopan on 16/8/2.
// copyright © 2016年 Hust University. All rights reserved.
//
// 使用NSLog打印测试
/*
NSTimer:作为计时器存在。
初始化方法有5种
Timer.invalidate() 表示把计时器从循环池中移除,释放内存。
*/
import UIKit
class ViewController: UIViewController {
//使用control+左键实例化
@IBOutlet weak var resetBtn: UIButton!
@IBOutlet weak var startBtn: UIButton!
@IBOutlet weak var parseBtn: UIButton!
@IBOutlet weak var showLabel: UILabel!
//计时器
var Timer = NSTimer()
//计时数据
var Conuter = 0.0
//是否正在计时
var IsPlaying = false
override func viewDidLoad() {
super.viewDidLoad()
showLabel.text = String(Conuter)
}
@IBAction func resetState(sender: UIButton) {
NSLog("reset")
Timer.invalidate()
IsPlaying = false
Conuter = 0.0
showLabel.text = String(Conuter)
startBtn.enabled = true
parseBtn.enabled = true
}
@IBAction func startTimer(sender: UIButton) {
NSLog("start")
if IsPlaying {
return
}
startBtn.enabled = false
parseBtn.enabled = true
Timer = NSTimer.scheduledTimerWithTimeInterval(0.1,target: self,selector: #selector(ViewController.updateTimer),userInfo: nil,repeats: true)
Timer.fire()
}
@IBAction func parseTimer(sender: UIButton) {
NSLog("parse")
parseBtn.enabled = false
startBtn.enabled = true
Timer.invalidate()
IsPlaying = false
}
func updateTimer() {
Conuter = Conuter + 0.1
showLabel.text = String(format: "%.1f",Conuter)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。