小编Jim*_*Jim的帖子

ObservedObject,派生自Json,不加载到Picker中,而是加载到List中。在 SwiftUI、Xcode 11 中

我是移动开发新手,正在学习 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)

json picker swiftui xcode11 observedobject

3
推荐指数
1
解决办法
245
查看次数

标签 统计

json ×1

observedobject ×1

picker ×1

swiftui ×1

xcode11 ×1