【发布时间】:2022-01-18 18:38:35
【问题描述】:
struct Test {
@State private var steps = UserDefaults.standard.integer(forKey: "steps") {
didSet {
steps = UserDefaults.standard.integer(forKey: "steps")
}
}
var body: some View {
Stepper("Go up or down: \(steps)", value: $steps)
.onChange(of: steps) { newValue in
UserDefaults.standard.set(newValue, forKey: "steps")
}
}
}
将didSet 与绑定值一起使用不会调用 didSet 方法。由于价值正在改变,不应该调用它吗?因此,在从导航视图来回推送此视图后,我无法保存和显示保存的值。我应该如何解决这个问题?
【问题讨论】:
-
使用
AppStorage。这是一个例子stackoverflow.com/a/62810288/12299030。
标签: swiftui binding userdefaults stepper didset