Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Unity
- javascript
- PyQt
- 리눅스
- node.js
- swift
- tensorflow
- 유니티
- urllib
- python
- 날짜
- Excel
- sqlite
- pandas
- ubuntu
- 다이어트
- IOS
- PER
- 라즈베리파이
- mssql
- Linux
- 맛집
- 함수
- port
- GIT
- PyQt5
- MySQL
- MS-SQL
- flutter
- ASP
Archives
아미(아름다운미소)
swift 타이머 사용하여 1초마다 1씩 증가하기 본문
타이머 사용하여 1초마다 1씩 증가하기
- Timer.scheduledTimer()- Timer.invalidate()
- Timer.isValid
import UIKit
class ViewController: UIViewController {
//ui
@IBOutlet weak var txtTime: UILabel!
@IBOutlet weak var btnStart: UIButton!
@IBOutlet weak var btnEnd: UIButton!
//timer
var mTimer : Timer?
var number = 0
let interval = 1.0
let timeSelector: Selector = #selector(ViewController.timerCallback)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/** 타이머 시작버튼 클릭 */
@IBAction func onTimerStart(_ sender: Any) {
if let timer = mTimer {
//timer 객체가 nil 이 아닌경우에는 invalid 상태에만 시작한다
if !timer.isValid {
/** 1초마다 timerCallback함수를 호출하는 타이머 */
mTimer = Timer.scheduledTimer(timeInterval: interval, target: self, selector: timeSelector, userInfo: nil, repeats: true)
}
}else{
//timer 객체가 nil 인 경우에 객체를 생성하고 타이머를 시작한다
/** 1초마다 timerCallback함수를 호출하는 타이머 */
mTimer = Timer.scheduledTimer(timeInterval: interval, target: self, selector: timeSelector, userInfo: nil, repeats: true)
}
}
/** 타이머 종료버튼 클릭 */
@IBAction func onTimerEnd(_ sender: Any) {
if let timer = mTimer {
if(timer.isValid){
timer.invalidate()
}
}
number = 0
txtTime.text = String(number)
}
//타이머가 호출하는 콜백함수
@objc func timerCallback() {
txtTime.text = String(number)
number = number + 1
}
}
결과
타이머 시작 버튼을 클릭하면 숫자가 1씩 증가하며 타이머 종료 버튼을 클릭하면 타이머가 종료되고 숫자는 0이 됩니다.
UI
'랭귀지 > SWIFT' 카테고리의 다른 글
| SWIFT 클로저 (0) | 2018.01.08 |
|---|---|
| swift 피커 뷰 앱 만들기 (0) | 2018.01.07 |
| 날짜와 시간 다루기 (Swift) (0) | 2018.01.03 |
| XCode 단축키 정리 (0) | 2017.12.27 |
| [문법요약] 옵셔널 체이닝(Optional Chaining) (0) | 2017.12.14 |
Comments