이 게시물에서 우리는 일정 간격 후에 작업을 반복하는 방법을 배울 것입니다.
이 예에서는 특정 시간 간격 후에 레이블을 반복적으로 업데이트합니다.
iOS에서는 이 작업을 수행하기 위해 Timer를 사용합니다. 시작하겠습니다
1단계 − Xcode 열기 → 새 프로젝트 → 단일 보기 응용 프로그램 → 이름을 "타이머"로 지정합니다.
2단계 − Main.storyboard를 열고 아래와 같이 레이블을 추가합니다.
3단계 − 하단 레이블에 대해 하나의 @IBOutlet을 첨부합니다. 이름을 timerLabel로 지정합니다.
4단계 − 레이블에 앱이 시작된 이후의 초를 표시합니다. 따라서 다음과 같이 뷰 컨트롤러에서 두 개의 변수를 선언합니다.
var timeLaunched: Int = 0 var timer: Timer?
5단계 − 레이블을 업데이트하는 기능을 추가합니다. 이후에 이 함수를 일정한 간격으로 반복적으로 호출할 것입니다.
@objc func updateLabel() { timerLabel.text = " Time Launched = \(timeLaunched) Seconds " timeLaunched += 1 }
보시다시피 이 기능은 실행 시간을 증가시키고 레이블에 표시합니다.
6단계 − 타이머를 초기화하고 트리거합니다. ViewController의 viewDidLoad에서 타이머를 초기화하고 정기적으로 updateLabel 함수를 호출합니다. 여기서 우리는 1초마다 기능을 트리거합니다. 요구 사항에 따라 기능을 트리거할 수 있습니다.
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. updateLabel() timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(ViewController.updateLabel)), userInfo: nil, repeats: true) }
보시다시피 타이머를 초기화하고 '반복'을 true로 설정했습니다. 이것은 매초마다 updateLabel 함수를 호출할 것입니다.
앱을 실행하면 1초마다 업데이트되는 라벨을 볼 수 있습니다.