只要就是实现一个Github上面的一个开源项目实战。
直接上代码:
//
// 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)
}
}