๐Ÿ”น.onDelete

when elements in the ForEach view are deleted

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

// 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

Was this helpful?