반응형
실행모습입니다.
실행하면 위와 같이 실행되며, 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으로 변경하여, 텍스트창에 띄워줍니다.
반응형
'Study > Apple Swift' 카테고리의 다른 글
[SWIFT] Floating 연산 오류(?) (0) | 2016.01.22 |
---|---|
[SWIFT] 네트워크 연결되어 있는지 확인하기 (0) | 2016.01.21 |
[SWIFT] 화면전환 (데이터 전달) (0) | 2016.01.19 |
swift 간단한 Text 입력하기 (0) | 2016.01.14 |
Swift 개발문서 (0) | 2015.11.05 |