gpt4 book ai didi

ios - 在加载时将@State变量从UserDefaults更改为值,而不更新Picker

转载 作者:行者123 更新时间:2023-12-01 22:00:15 24 4
gpt4 key购买 nike

我正在尝试使用存储在UserDefaults中的值加载我的应用程序时更新@State变量,但我的选择器未更新。这是我尝试的:

struct ContentView: View {

@State var selectedCanteen = 1

init() {
let previousSelectedCanteen = UserDefaults.standard.string(forKey: "selectedCanteen")
if let exist = previousSelectedCanteen {
self.selectedCanteen = Int(exist) ?? 1
}
}

var body: some View {
Picker(selection: $selectedCanteen, label: Text("Testing...")) {
Text("Stuff").tag(1)
Text("Stuff 2").tag(2)
}
}
}

我来自react-native,所以我可能会错过Swift / SwiftUI中的一些基本概念。希望有人可以引导我朝正确的方向前进。

最佳答案

尝试使用以下方法

@State var selectedCanteen: Int

init() {
let previousSelectedCanteen = UserDefaults.standard.string(forKey: "selectedCanteen")
var initialValue = 1
if let exist = previousSelectedCanteen {
initialValue = Int(exist) ?? 1
}
_selectedCanteen = State<Int>(initialValue: initialValue)
}

关于ios - 在加载时将@State变量从UserDefaults更改为值,而不更新Picker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60210824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com