SwiftUI-타이머가 0에서 멈추지 않습니다.

L. Sherbini

특정 날짜부터 현재 날짜까지 카운트 다운하는 타이머가 있지만 문제는 00:00:00에 도달해도 타이머가 중지되지 않는다는 것입니다.

튜토리얼을 따랐습니다

@State var currentDate: Date = Date()
var timer: Timer {
    Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { (_) in
        self.currentDate = Date()
    }
}

var endDate = Calendar.current.date(byAdding: .minute, value: 1, to: Date())!

var body: some View {
    Text(countdownString(to: endDate))
        .font(.headline)
        .fontWeight(.bold)
        .foregroundColor(.green)
        .onAppear {
            _ = self.timer
            if self.endDate == self.currentDate {
                self.timer.invalidate()
            }
    }
}



func countdownString(to date: Date) -> String {
    let calendar = Calendar(identifier: .gregorian)
    let components = calendar.dateComponents([.hour, .minute, .second], from: currentDate, to: endDate)
    return String(format: "%02d hours : %02d minutes : %02d seconds",
                  components.hour ?? 00,
                  components.minute ?? 00,
                  components.second ?? 00)
}
프랑켄슈타인

에서 타이머를 설정 onAppear하고 무효화 timer할 때 endDatecurrentDate정렬 함께합니다.

struct CV: View {
    @State var currentDate: Date = Date()
    @State var timer: Timer?

    var endDate = Calendar.current.date(byAdding: .minute, value: 1, to: Date())!

    var body: some View {
        Text(countdownString(to: endDate))
            .font(.headline)
            .fontWeight(.bold)
            .foregroundColor(.green)
            .onAppear {
                self.timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in
                    self.currentDate = Date()
                }
        }
    }

    func countdownString(to date: Date) -> String {
        let calendar = Calendar(identifier: .gregorian)
        let components = calendar.dateComponents([.hour, .minute, .second], from: currentDate, to: endDate)
        if currentDate >= endDate {
            timer?.invalidate()
            timer = nil
        }
        return String(format: "%02d hours : %02d minutes : %02d seconds",
                      components.hour ?? 00,
                      components.minute ?? 00,
                      components.second ?? 00)
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

45 분 후에도 타이머가 멈추지 않습니다.

분류에서Dev

타이머가 이전 활동에서 멈추지 않습니다.

분류에서Dev

awatch가 지정된 주소에서 멈추지 않습니다.

분류에서Dev

코드가 Java에서 실행을 멈추지 않습니다.

분류에서Dev

UIActivityIndicator가 iOS에서 멈추지 않습니다.

분류에서Dev

while 루프는 파이썬에서 멈추지 않습니다.

분류에서Dev

시간 카운트 다운이 0 : 0.0에서 멈추지 않고 else 문에 도달하지 않습니다.

분류에서Dev

문서 제목이 깜박임을 멈추지 않습니다.

분류에서Dev

Sublime Text 3 : XDebug가 더 이상 중단 점에서 멈추지 않습니다.

분류에서Dev

내 앱에서 각도 타이머가 작동하지 않습니다.

분류에서Dev

타이머가 내 코드에서 제대로 작동하지 않습니다.

분류에서Dev

Action Script 3.0 타이머가 멈추지 않음

분류에서Dev

문자열 반복기가 문자열 끝에서 멈추지 않습니다.

분류에서Dev

Django 프로젝트가 중단 점 PyDev에서 멈추지 않습니다.

분류에서Dev

타이머가 예약 된 시간에 호출되지 않습니다.

분류에서Dev

콜론 ":"이 타이머에 나타나지 않습니다.

분류에서Dev

이미지가 swiftui collectionview에로드되지 않습니다.

분류에서Dev

SwiftUI : ObservableObject가 fetchRequest init에서 작동하지 않습니다.

분류에서Dev

CSS-움직이는 물체가 멈춘 곳에 머물지 않습니다.

분류에서Dev

Windows 서비스의 타이머가 서버에서 작동하지 않습니다.

분류에서Dev

카운트 다운 타이머는 분과 초가 0 일 때 시간을 줄이지 않습니다.

분류에서Dev

타이머가 0으로 카운트 다운하면 양식이 제출되지 않습니다.

분류에서Dev

타이머 완료 블록에서 변수가 업데이트되지 않습니다.

분류에서Dev

스 와이프하여 삭제가 타이머에서 작동하지 않습니다.

분류에서Dev

자바 스크립트를 사용하여 PHP에서 타이머가 0에 도달하면 메소드가 호출되지 않습니다.

분류에서Dev

타이머가 실행 중일 때 SwiftUI ActionSheet가 닫히지 않음

분류에서Dev

타이머가 목록보기에서 올바르게 작동하지 않습니다.

분류에서Dev

setInterval 타이머가 ReactJS의 render ()에서 제대로 작동하지 않습니다.

분류에서Dev

내 iOS 앱이 멈추지 만 오류가 나타나지 않습니다.

Related 관련 기사

  1. 1

    45 분 후에도 타이머가 멈추지 않습니다.

  2. 2

    타이머가 이전 활동에서 멈추지 않습니다.

  3. 3

    awatch가 지정된 주소에서 멈추지 않습니다.

  4. 4

    코드가 Java에서 실행을 멈추지 않습니다.

  5. 5

    UIActivityIndicator가 iOS에서 멈추지 않습니다.

  6. 6

    while 루프는 파이썬에서 멈추지 않습니다.

  7. 7

    시간 카운트 다운이 0 : 0.0에서 멈추지 않고 else 문에 도달하지 않습니다.

  8. 8

    문서 제목이 깜박임을 멈추지 않습니다.

  9. 9

    Sublime Text 3 : XDebug가 더 이상 중단 점에서 멈추지 않습니다.

  10. 10

    내 앱에서 각도 타이머가 작동하지 않습니다.

  11. 11

    타이머가 내 코드에서 제대로 작동하지 않습니다.

  12. 12

    Action Script 3.0 타이머가 멈추지 않음

  13. 13

    문자열 반복기가 문자열 끝에서 멈추지 않습니다.

  14. 14

    Django 프로젝트가 중단 점 PyDev에서 멈추지 않습니다.

  15. 15

    타이머가 예약 된 시간에 호출되지 않습니다.

  16. 16

    콜론 ":"이 타이머에 나타나지 않습니다.

  17. 17

    이미지가 swiftui collectionview에로드되지 않습니다.

  18. 18

    SwiftUI : ObservableObject가 fetchRequest init에서 작동하지 않습니다.

  19. 19

    CSS-움직이는 물체가 멈춘 곳에 머물지 않습니다.

  20. 20

    Windows 서비스의 타이머가 서버에서 작동하지 않습니다.

  21. 21

    카운트 다운 타이머는 분과 초가 0 일 때 시간을 줄이지 않습니다.

  22. 22

    타이머가 0으로 카운트 다운하면 양식이 제출되지 않습니다.

  23. 23

    타이머 완료 블록에서 변수가 업데이트되지 않습니다.

  24. 24

    스 와이프하여 삭제가 타이머에서 작동하지 않습니다.

  25. 25

    자바 스크립트를 사용하여 PHP에서 타이머가 0에 도달하면 메소드가 호출되지 않습니다.

  26. 26

    타이머가 실행 중일 때 SwiftUI ActionSheet가 닫히지 않음

  27. 27

    타이머가 목록보기에서 올바르게 작동하지 않습니다.

  28. 28

    setInterval 타이머가 ReactJS의 render ()에서 제대로 작동하지 않습니다.

  29. 29

    내 iOS 앱이 멈추지 만 오류가 나타나지 않습니다.

뜨겁다태그

보관