web-dev-qa-db-fra.com

Comment obtenir l'index des lignes dans la liste SwiftUI?

Je voudrais avoir une liste numérotée, où chaque ligne a un numéro.

Quelque chose comme ça

mais je ne vois pas la bonne API pour cela dans List initialiseurs

En ce moment, je vois cette solution de contournement

var persons = ["Boris", "Anna", "Tom"]

// MARK: - Body
func body(props: Props) -> some View {
    List(persons.indices, id: \.self) { index in
        Text("\(index) \(self.persons[index])")
    }
}
4
Tikhonov Alexander

C'est Apple exemple:

var landmarkIndex: Int {
userData.landmarks.firstIndex(where: { $0.id == landmark.id })!}

Pour vous:

var persons = ["Boris", "Anna", "Tom"]

// MARK: - Body

func body(props: Props) -> some View {
List(persons.indices, id: \.self) { index in

var i: Int {
persons.firstIndex(where: { $0.id == index.id })!}

    Text("\(i) \(self.persons[i])")
}}
0
user13082173