onmyway133 / blog

🍁 What you don't know is what you haven't learned
https://onmyway133.com/
MIT License
669 stars 33 forks source link

How to move reversed List in SwiftUI #895

Open onmyway133 opened 1 year ago

onmyway133 commented 1 year ago

Apply .move on reversed array

List(selection: $viewModel.selectedBook) {
    ForEach(viewModel.books.reversed()) { book in
        BookCell(book: book)
    }
    .onMove { source, dest in
        var reversed = Array(viewModel.books.reversed())
        reversed.move(fromOffsets: source, toOffset: dest)
        viewModel.books = reversed.reversed()
    }
}