이제 우리는 카운트라벨에 값을 할당 할 수 있습니다. 우리는 우리의 보기로 이동하면DidLoad 방법. super.viewDidLoad() 아래에서 카운터의 변수를 얻고 countingLabel에 할당하는 몇 가지 기본 Swift를 추가할 수 있습니다. 잠깐 만요! 카운터는 정수이고 UILabel은 문자열입니다. 우리는 우리가 레이블에 전달하기 전에 문자열로 출력을 변환해야합니다. 이것은 단순히 String (*)로 래핑하여 수행 할 수 있습니다 : 거기에 당신이 그것을 가지고있다. 앱을 실행하고 Voila. 당신이 볼 수 있듯이 당신은 NSTimer와 스위프트를 사용하여 기본 계산 응용 프로그램을 만들었습니다. 이전에 타이머를 60Hz(1/60)로 설정했습니다. 따라서 타이머는 16ms마다 애니메이션을 호출합니다. 아래 의 타임 라인을 살펴보십시오 : 해당 실행 루프 내의 여러 실행 루프 모드에 추가 할 수 있지만 한 번에 하나의 실행 루프에만 타이머를 등록 할 수 있습니다.

타이머를 만드는 방법에는 세 가지가 있습니다: 예를 들어 사용자 이름을 포함하는 사전을 전달할 수 있습니다: 개체 라이브러리에서 뷰 컨트롤러의 맨 위로 이러한 요소 중 하나를 드래그합니다. 작업 제목을 두 번 클릭하고 Swift 타이머로 변경: RunLoop.Mode.common을 실행 루프에서 타이머를 예약할 때 사용했습니다. 나는 애플의 문서에이것에 대한 간단한 설명이 있었으면 좋겠지 만, 나는 어떤 것을 찾을 수 없다. 주제는이 하나와이 같은 링크에서 논의된다, 그러나 나는 명확하고 간결아무것도 찾을 수 없습니다. 4. 다음으로 스토리보드를 떠나 뷰 컨트롤러 클래스로 이동합니다. 타이머Label 콘센트 아래에 다음과 같은 변수가 생성됩니다. 사용자는 퍼즐과 점수 포인트를 해결하기 위해 60 초있습니다.

카운트 다운 타이머가 다 떨어지면 남은 시간(초)을 추적합니다. 이 iOS 타이머 자습서에서는 타이머가 작동하는 방식, UI 응답성 및 배터리에 미치는 영향 및 CADisplayLink를 사용하여 애니메이션을 사용하는 방법을 알아봅니다. 타이머가 시작되면 일시 중지가 활성화되어 있는지 확인해야 합니다. runTimer 메서드에서 사용하도록 설정하면 타이머가 실행 중인 경우 pauseButton을 탭할 수 있습니다. 종종 폴링에 대한 대안이 없습니다. 날씨가 좋은 데이터 원본과 같은 일부 무료 공용 데이터 원본이 REST API를 통해 액세스할 수 있으며 JSON에서 데이터가 인코딩되어 있다고 가정합니다. 데이터 소유자가 클라이언트가 API 키에 등록하도록 요구한다고 가정해 보겠습니다. 내가 사용한 대부분의 무료 서비스는 소스에서 데이터 필드를 업데이트합니다. API 키가 있는 모든 개발자에게 푸시 알림을 보내지는 않습니다. 예를 들어 온도가 변했는지 확인하기 위해 클라이언트가 API를 폴링할 것으로 예상합니다. 일부 이러한 서비스를 통해 소매 클라이언트는 푸시 알림을 구독하여 변경 사항에 대한 정보를 얻을 수 있지만 많은 사용자가 개발자인 클라이언트에 대해 이러한 유형의 오버헤드를 지원하지 않습니다. 실행 루프에서 타이머를 수동으로 예약하여 이 문제를 해결할 수 있습니다.

방법: 실제로 타이머에서 초를 똑딱 거리는 것은 매 초마다 업데이트되는 UILabel일 뿐입니다. 그보다 더 복잡한 것은 없습니다! 타이머를 실행하면 60초부터 카운트다운이 시작됩니다. 그러나 그것은 당신이 중지하거나 일시 중지 할 수 없습니다 것입니다. 그리고 그것은 음수로 0 과거를 계산합니다. 그럼 계속해 봅시다! 실행 루프에서 예약되면 타이머는 무효화될 때까지 지정된 간격으로 실행됩니다. 반복되지 않는 타이머는 발사 직후 에 무효화됩니다. 그러나 반복 타이머의 경우 해당 무효화() 메서드를 호출하여 타이머 개체를 직접 무효화해야 합니다.

swift timer 예제