在SwiftUI上列出项目3到3

我有一个类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仍然是我的实验,非常感谢您可以给我的任何答复

klf0818 回答:在SwiftUI上列出项目3到3

您可以使用数组的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
    }
}
本文链接:https://www.f2er.com/3164398.html

大家都在问