30天学习Swift项目实战第一天--------计时器
只要就是实现一个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) }
} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 深入理解vue.js中的v-if和v-show
- c – 虚拟成员函数和std :: tr1 :: function:这是如何工作
- vb.net 教程 2-3 流程控制:循环语句 For...Next 2
- sqlite 操作:rawQuery and execSQL
- flash制作探照灯效果
- ruby-on-rails – Rails – 如何在自定义布局中使用applica
- 机器学习中正则化方法简介:L1和L2正则化(regularization)、
- 读取xml节点值生成一个实体类,读取xml所有节点值,读取所有
- ruby-on-rails – 计算两天之间的工作天数
- [Swift]LeetCode Solution Summary | LeetCode解题汇总