List の2パターン
swift
List(appData.books, id: \.self, selection: $selectedBook) { book in
Text(book.title)
}
swift
List(selection: $selectedBook) {
ForEach(0..<appData.books.count, id: \.self) { idx in
Text(appData.books[idx].title)
.tag(book)
}
}
この方法だと、データ削除したときに books[idx]
で out of range エラーになってしまう。
このようにすれば良い ↓ ForEach で ID と 値の両方を取得
swift
ForEach(Array(books.enumerated()), id: \.element) { i, book in
// View
}