如何防止日期计时器有负值? - 斯威夫特用户界面

How to prevent date timer have negative values? - SwiftUI

我有一个约会计时器。当它达到所需的值时,它会继续在负值中走得更远。我该如何防止这种情况?

它的工作方式如下:例如用户选择了 14 天。倒计时开始后 - 13...12...11...0 并且不会停止,继续 -1...-2...

我希望我的 numDaysWithToday 在 <=0 时停止前进。

代码:

var numDaysWithToday: Int {
///dayFromNow is 14 days for example
    get{
        Calendar.current.dateComponents([.day], from: Date(), to:
        dateFromNow).day!
    }
}
Text("\(numDaysWithToday) days left")

您可以使用 max 函数来防止这种情况

var numDaysWithToday: Int {
///dayFromNow is 14 days for example
    get{
        let value = Calendar.current.dateComponents([.day], from: Date(), to: dateFromNow).day!
        return max(value, 0)
    }
}
Text("\(numDaysWithToday) days left")