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
- 다이어트
- 라즈베리파이
- sqlite
- mssql
- ASP
- 유니티
- PER
- PyQt5
- PyQt
- flutter
- tensorflow
- javascript
- IOS
- 리눅스
- python
- node.js
- MySQL
- Excel
- swift
- 맛집
- ubuntu
- MS-SQL
- 날짜
- port
- urllib
- 함수
- Unity
- Linux
- GIT
- pandas
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