在 SwiftUI 中,我们可以使用 ForEach 来循环遍历数组或者集合,这个功能非常方便。同时,我们还可以使用 onDelete 方法来删除某个元素。下面是一个简单的代码演示:
struct ContentView: View {
@State var fruits = ["苹果", "香蕉", "橙子", "柚子"]
var body: some View {
List {
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}
.onDelete { indexSet in
fruits.remove(atOffsets: indexSet)
}
}
}
}
这个代码演示中,我们创建了一个名为 ContentView 的视图。在这个视图中,我们添加了一个列表,列表中的每一个元素都是 fruits 数组中的一个水果元素。
在 ForEach 中,我们指定了 id 为 .self,这是为了确保每一个元素都有一个唯一的标识。如果我们不指定 id,SwiftUI 将会警告我们。
在 onDelete 方法中,我们使用 remove(atOffsets:) 方法来删除指定位置的元素。在这个例子中,我们删除了一组 indexSet,这个 indexSet 包含了用户选择的所有行的索引。
当用户选择一行并向左滑动时,就会出现一个删除按钮,用户点击按钮后,对应的水果元素就会被删除。