我有一个类observer.data,所有数据都放在一个数组中,我只想列出每3个中的3个。
示例:列表应显示项目3乘3:[0],[3],[6],[9] ... 并且不应显示。[0],[1],[2],[3],[4],[5],[6]
我的代码就像:
List(observer.data){ i in
card(name: i.name token: i.token)
}
SwiftUI仍然是我的实验,非常感谢您可以给我的任何答复
我有一个类observer.data,所有数据都放在一个数组中,我只想列出每3个中的3个。
示例:列表应显示项目3乘3:[0],[3],[6],[9] ... 并且不应显示。[0],[1],[2],[3],[4],[5],[6]
我的代码就像:
List(observer.data){ i in
card(name: i.name token: i.token)
}
SwiftUI仍然是我的实验,非常感谢您可以给我的任何答复
您可以使用数组的indices
属性查看范围并对其进行过滤
var body: some View {
List(observer.data.indices.filter {$0 % 3 == 0},id: \.self){ index in
card(name: self.observer.data[index].name,token: self.observer.data[index].token
}
}
如果data
数组中的类型符合Hashable
,则可以通过将索引首先映射到数组中的元素来以更清晰的方式编写上面的内容。
var body: some View {
List(observer.data.indices.filter {$0 % 3 == 0}.map({observer.data[$0]}),id: \.self) { item in
card(name: item.name,token: item.token
}
}