我使用UserDefaults和SwiftUI来保存来自多个变量的数据,并将这些值用于图形。我的目标是只向用户显示每天的进度,因此我需要从UserDefaults中删除存储的数据,或者每天将变量值重置为0。我假设Apple Fitness应用程序会做一些类似于“活动环”的事情,但我不知道如何实现这样的事情。每一次的帮助都会被感谢。
我的代码:
@Published var waterGraph: Float = UserDefaults.standard.float(forKey: "waterGraph") {
didSet {
UserDefaults.standard.set(self.waterGraph, forKey: "waterGraph")
}
}发布于 2020-10-12 21:49:23
有很多不同的方法可以做到这一点,这完全取决于你的数据是如何“活着”的,如果没有更多的信息,我们就无法做到具体。
一种选择是让你的waterGraph对象依赖于一个日期WaterGraph(date: Date),我假设苹果是这样做的。
另一种选择是在视图出现时检查并查看是否需要新数据。
.onAppear(perform: {
if lastUpdatedDate != todaysDate{
resetData()
lastUpdatedDate = todaysDate
}
})https://stackoverflow.com/questions/64317750
复制相似问题