Ios SwiftUI选取器填充问题-选取器中的ForEach循环未填充

Ios SwiftUI选取器填充问题-选取器中的ForEach循环未填充,ios,text,foreach,swiftui,picker,Ios,Text,Foreach,Swiftui,Picker,我有SwiftUI和XCode 11.2.1环境 在以下代码中,ForEach循环显示标题,同时也显示列表,它可以工作: 但是,以下ForEach循环根本不显示文本,我使用了todoData.todos.count: ForEach(0 ..< (todoData.todos.count)) { Text(String(self.todoData.todos[$0].userId)) } =-- 除“MyI

我有SwiftUI和XCode 11.2.1环境

在以下代码中,ForEach循环显示标题,同时也显示列表,它可以工作:
但是,以下ForEach循环根本不显示文本,我使用了todoData.todos.count:

ForEach(0 ..< (todoData.todos.count)) {
                    Text(String(self.todoData.todos[$0].userId))
                    }
=-- 除“MyItems”选取器名称和选取器列表的两行空行外,不显示任何内容

如有任何建议/帮助,将不胜感激

=--


您可以试试这个,它在我的Xcode中工作:

@State var selectedItem: String = ""

var body: some View {

        NavigationView {
            VStack (spacing: 15){

                 Text("Number of items: \(todos.count)")

                ForEach(self.todos) { str in Text(String(str.title));}  // works

                List(self.todos) { todo in
                    Text(todo.title) // works
                }

                ForEach(0 ..< (todos.count)) {
                Text(String(self.todos[$0].userId))
                    }

                Picker(selection: self.$selectedItem, label: Text("MyItems")) {
                    ForEach(self.todos) { str in Text(str.title).tag(str.title) ;}
                }
            }}}}
@State var selectedItem:String=“”
var body:一些观点{
导航视图{
VStack(间距:15){
文本(“项目数:\(todos.count)”)
ForEach(self.todos){str in Text(String(str.title));}//works
列表(self.todos){todo in
Text(todo.title)//工作
}
ForEach(0..<(todos.count)){
文本(字符串(self.todos[$0].userId))
}
选择器(选择:self.$selectedItem,标签:文本(“MyItems”)){
ForEach(self.todos){str in Text(str.title).tag(str.title);}
}
}}}}

感谢您的澄清。看来我需要把整个东西放在一个表格里,这样它才能工作。这似乎也解决了我的问题。
Picker( selection: $selectedItem, label: Text("MyItems"), content:
                {
                    ForEach(self.todoData.todos) { str in Text(str.title);}
                }
                )
data is as follows:
[
    {
           "userId": 1,
           "id": 1,
           "title": "delectus aut autem",
           "completed": false
       },
       {
           "userId": 1,
           "id": 2,
           "title": "quis ut nam facilis et officia qui",
           "completed": false
       },
       {
           "userId": 1,
           "id": 3,
           "title": "quis ut nam facilis et officia qui",
           "completed": false
       },
    {
           "userId": 2,
           "id": 4,
           "title": "quis ut nam facilis et officia qui",
           "completed": false
       }

   ]
@State var selectedItem: String = ""

var body: some View {

        NavigationView {
            VStack (spacing: 15){

                 Text("Number of items: \(todos.count)")

                ForEach(self.todos) { str in Text(String(str.title));}  // works

                List(self.todos) { todo in
                    Text(todo.title) // works
                }

                ForEach(0 ..< (todos.count)) {
                Text(String(self.todos[$0].userId))
                    }

                Picker(selection: self.$selectedItem, label: Text("MyItems")) {
                    ForEach(self.todos) { str in Text(str.title).tag(str.title) ;}
                }
            }}}}