SwiftUI und List ... onDelete

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • SwiftUI und List ... onDelete

    Moin Moin,

    den kleinen CodingBlock in SwiftUI kennt ihr wohl alle:

    Quellcode

    1. struct ContentView: View {
    2. @State var islands = [
    3. SingleIsland(name: "Wangerooge"),
    4. SingleIsland(name: "Spiekeroog"),
    5. SingleIsland(name: "Langeoog")
    6. ]
    7. var body: some View {
    8. List {
    9. ForEach(islands.identified(by: \.name)) { island in
    10. Text(island.name)
    11. }.onDelete(perform: delete)
    12. }
    13. }
    14. private func delete(with indexSet: IndexSet) {
    15. indexSet.forEach { islands.remove(at: $0) }
    16. }
    17. }
    Alles anzeigen
    Der Funktioniert auch :) . Das ist nicht das Problem. Das Problem fängt an, wenn ich die Struktur gegen eine Liste von Objekten tausche...

    also statt @State dann @ObservedObject

    dann löscht er die Zeile in der List nicht, jedenfalls zu Anfang, sondern setzt sie dann zurück. Lade ich die Objektliste dann neu, wurde die Aktion dennoch durchgeführt.

    Weiss jemand, was das sein könnte?

    Schöne Grüsse
    Wolf