为什么我的ListView什么都不存在,SwiftUI

为什么我的ListView什么都不存在,SwiftUI,swiftui,Swiftui,我不知道为什么我的列表视图是空的,这是我的代码: List(asArray, id: \.self) { i in Text(i) .foregroundColor(.black) } 我的数组是可以的,因为如果我把ForEach块放在ListView中,而不是一个ForEach块中,所有的东西都会显示出来 ForEach(asArray, id: \.self) { i in

我不知道为什么我的列表视图是空的,这是我的代码:

List(asArray, id: \.self) { i in
                
        Text(i)
          .foregroundColor(.black)
}
我的数组是可以的,因为如果我把ForEach块放在ListView中,而不是一个ForEach块中,所有的东西都会显示出来

ForEach(asArray, id: \.self) { i in
                
        Text(i)
          .foregroundColor(.black)
}
这段代码运行良好

看,这个代码很好用

ForEach(asArray, id: \.self) { i in
      Text(i)
}
但是如果我把洞代码放在列表视图中,什么都不起作用

List{
   ForEach(asArray, id: \.self) { i in
         Text(i)
   }
}
为什么?我不知道

顺便说一句:这也不管用

    List {
    ForEach(0 ..< asArray.count) { index in
        Text(asArray[index])
            .foregroundColor(.black)
}
}
列表{
ForEach(0..
谢谢你的帮助。
Boothosh

自定义类/结构

要确保视图正确显示,请确保ListView不在ScrollView中。接下来,确保您的数组符合
可识别的
。一旦符合可识别性,您可以调用以下命令:

List(asArray) { i in
    Text(i)
        .foregroundColor(.black)
}
当数组符合Identified时,确保类或结构具有名为
id
的变量,这样就不必在ListView中指定id参数

内置类/结构

您需要执行以下操作,因为Swift中内置的某些类/结构不符合
可识别的

List {
    ForEach(0 ..< asArray.count) { index in
        Text(asArray[index])
            .foregroundColor(.black)
    }
}
列表{
ForEach(0..
自定义类/结构

要确保视图正确显示,请确保ListView不在ScrollView中。接下来,确保您的数组符合
可识别的
。一旦符合可识别性,您可以调用以下命令:

List(asArray) { i in
    Text(i)
        .foregroundColor(.black)
}
当数组符合Identified时,确保类或结构具有名为
id
的变量,这样就不必在ListView中指定id参数

内置类/结构

您需要执行以下操作,因为Swift中内置的某些类/结构不符合
可识别的

List {
    ForEach(0 ..< asArray.count) { index in
        Text(asArray[index])
            .foregroundColor(.black)
    }
}
列表{
ForEach(0..
为a包含足够的代码。我的问题是,我不知道哪里出了问题,这就是为什么我不知道应该添加哪些代码。我的意思是,如果您运行此代码(并声明自己的数组),那么一切都正常。。。我不知道可能的原因是什么你在黑暗模式下使用设备吗?通过设置
.foregroundColor(.black)
可以使文本与背景颜色相同。包含足够的代码用于a。我的问题是,我不知道哪里出了问题,这就是为什么我不知道应该添加哪些代码。我的意思是,如果运行此代码(并声明自己的数组),那么一切都正常。。。我不知道可能的原因是什么你在黑暗模式下使用设备吗?通过设置
.foregroundColor(.black)
可以使文本与背景颜色相同。这意味着字符串不符合可识别的协议?是的,
字符串不符合可识别的协议,因此它在动态列表中不起作用。你需要使用一个
ForEach
,就像我在回答的第二部分中添加的那样。但是如果我运行你的代码,它就不起作用了。。。我更新了我的问题,因为你没有正确使用我的代码。请准确复制并通过内置类/结构下的代码。正如我之前所说,
字符串
不符合
可识别的
,因此您将无法使用
ForEach(asArray,id:\.self)
id
参数只有在类/结构符合可识别的规则时才起作用。你需要使用
ForEach(0..
来代替。好吧,我真的不明白你的意思。你在内置类/结构下编写的代码:-不适合我。。。或者我使用的I不正确,如果是这样,请您再解释一遍好吗?这意味着字符串不符合可识别的协议?是的,
String
不符合可识别的协议,因此它在动态列表中不起作用。你需要使用一个
ForEach
,就像我在回答的第二部分中添加的那样。但是如果我运行你的代码,它就不起作用了。。。我更新了我的问题,因为你没有正确使用我的代码。请准确复制并通过内置类/结构下的代码。正如我之前所说,
字符串
不符合
可识别的
,因此您将无法使用
ForEach(asArray,id:\.self)
id
参数只有在类/结构符合可识别的规则时才起作用。你需要使用
ForEach(0..
来代替。好吧,我真的不明白你的意思。你在内置类/结构下编写的代码:-不适合我。。。或者我用错了,如果是这样,你能再解释一下吗?