๐Ÿ”น.onDelete

when elements in the ForEach view are deleted

SwiftUI โŸฉ view โŸฉ groupings โŸฉ ForEach โŸฉ .onDelete

Tell SwiftUI what to do when elements in the ForEach view are deleted.

// list data from environment object
// (assume `data` is the environment object)
ForEach(data.creatures) { creature in 
    CreatureRow(creature: creature)
}
// โญ๏ธ when elements in the ForEach view are deleted
.onDelete { indexSet in 

    /// โ€ข SwiftUI passes a set of indices to the closure 
    ///   thatโ€™s relative to the dynamic viewโ€™s underlying collection of data.
    
    // โญ๏ธ delete corresponding items from the underlying collection of data
    data.creatures.remove(atOffsets: indexSet)
}

Last updated