【问题标题】:How to prevent date timer have negative values? - SwiftUI如何防止日期计时器有负值? - 斯威夫特用户界面
【发布时间】:2021-07-23 17:36:56
【问题描述】:

我有一个日期计时器。当它达到所需的值时,它会继续在负值中走得更远。我怎样才能防止这种情况发生?

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

如果我的numDaysWithToday

代码:

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

【问题讨论】:

    标签: swift swiftui timer calendar


    【解决方案1】:

    您可以使用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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 2020-03-26
      • 2023-03-14
      • 1970-01-01
      • 2017-07-22
      • 2017-03-24
      相关资源
      最近更新 更多