Hi,
I have a severe problem with the SwiftUI List view in Xcode 12 (beta).
When a List item, which is selected, is removed, the List crashes every time.
"[General] Row 2 out of row range [0-1] for rowViewAtRow:createIfNeeded:"
Looks like a bug in SwiftUI to me.
What can I do to prevent the crash? I've tried several things already, but with no success. I'm stuck with this problem since 3 days now...
Example code:
I have a severe problem with the SwiftUI List view in Xcode 12 (beta).
When a List item, which is selected, is removed, the List crashes every time.
"[General] Row 2 out of row range [0-1] for rowViewAtRow:createIfNeeded:"
Looks like a bug in SwiftUI to me.
What can I do to prevent the crash? I've tried several things already, but with no success. I'm stuck with this problem since 3 days now...
Example code:
Code Block // // Example to reproduce bug // * Select no item or other than last item and press button: selection is reset, last item is removed, no crash // * Select last list item and press button "Delete last item" => Crash // import SwiftUI class MyContent: ObservableObject { @Published var items: [String] = [] @Published var selection: Set<String> = Set() init() { for i in 1...5 { self.items.append(String(i)) } } } struct MyView: View { @ObservedObject var content: MyContent = MyContent() var body: some View { VStack { List(content.items, id: \.self, selection: $content.selection) { item in Text("\(item)") } Button("Delete last item", action: { if content.items.count > 0 { content.selection = Set() // reset selection var newItems = Array(content.items) newItems.removeLast() content.items = newItems } }) } } }