본문 바로가기
Study/Apple Swift

[ SWIFT ] 타이머 만들기

by Answer Choi 2016. 1. 18.
반응형

예제코드


실행모습입니다.



실행하면 위와 같이 실행되며, Start를 누르면 윗부분에 타이머가 증가합니다.



타이머가 증가된 모습입니다.


Finish를 누르면 다시 0으로 초기화 됩니다.


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
32
33
34
35
36
37
import UIKit
 
class ViewController: UIViewController {
 
    var time=0;
    var timer=NSTimer()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        
    }
    
    @IBOutlet weak var timerText: UILabel!
    
    
    @IBAction func starTimer(sender: UIButton) {
        timer=NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("activeTimer"), userInfo: nil, repeats: true);
    }
    func activeTimer(){
        ++time;
        timerText.text=String(time)
    }
    
    @IBAction func finishTimer(sender: UIButton) {
        timer.invalidate()
time=0
        timerText.text=String(time)        
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
 
 
}
 
cs


Line 5 : 카운터용 변수를 선언합니다.


Line 6 : NS타이머를 선언합니다.


Line 14 : Timer가 나타날 Text창입니다.


Line 17~19 : Start button에 대한 이벤트 함수 입니다.



파라메터는 아래와 같습니다.



순서대로 타이머 interval, 


타이머가 참조하는 곳 self


호출할 함수


이건 보통은 nil(null)


반복 여부



설정한 인터벌이 지나면 타이머는 종료가 되는데 그 시점에 selector로 메시지를 보내게 됩니다.


만약 반복 되도록 하면 타이머가 다시 살아나게 됩니다.


위 코드에서 보면 1초후 activeTimer 함수가 호출됩니다. 


Line 20~23 : 이곳에서 타이머 변수가 1씩 증가되고, 타이머 텍스트창에 타이머 변수를 띄워 줍니다.


Line 25~29 : 타이머 Finish 버튼입니다.


타이머를 종료시키고, 변수를 0으로 변경하여, 텍스트창에 띄워줍니다.

반응형

인기글