ForEach で順番も取得したい
enumerated() を使う方法
swift
ForEach(Array(names.enumerated()), id: \.element) { idx, name in
Text("\(idx) : \(name)")
}
indices を使う方法
swift
ForEach(names.indices, id: \.self) { idx in
let name = names[idx]
Text("\(idx) : \(name)")
}
List .. selection で使いたい場合
どちらのパターンだとしても .tag(..) をつければ良い
swift
List(names, id: \.self, selection: $selectedName) { name in
Text(name)
}
↓
swift
List(selection: $selectedName) {
ForEach(Array(files.enumerated()), id: \.element) { idx, name in
Text("\(idx) : \(name)")
.tag(name)
}
}