我是移动开发新手,正在学习 SwiftUI。
我一直在努力找出我的选择器出了什么问题。我成功从 URLSession 返回数据,并将其添加到我的模型中。我可以通过将 @ObservedObject 添加到列表来确认这一点,该列表返回所有项目。由于某种原因,将相同的 @ObservedObject 放入选择器会返回空选择器。任何帮助,将不胜感激。谢谢。
这是我对 Picker() 的看法。运行时,选择器为空。我可以注释掉 Picker(),只留下 ForEach() 和 Text(),然后文本就会出现。
import Foundation
import Combine
import SwiftUI
struct ContentView: View {
@ObservedObject var countries = CulturesViewModel()
@State private var selectedCountries = 0
var body: some View {
VStack {
//loop through country array and add them to picker
Picker(selection: $selectedCountries, label: Text("Select Your Country")) {
ForEach(0 ..< countries.cultures.count, id: \.self) { post in
Text(self.countries.cultures[post].Culture).tag(post)
}
}.labelsHidden()
}
}
}
struct ContentView_Previews: PreviewProvider {
static var …Run Code Online (Sandbox Code Playgroud)