SwiftUI:条件onDelete

SwiftUI:条件onDelete,swiftui,Swiftui,我试图创建一个列表,只允许用户在进入编辑模式后删除。我试图在onDelete修饰符中使用三元操作,但无法理解。有什么建议吗 这是我的密码: struct ContentView: View { @State private var stuff = ["First", "Second", "Third"] @State private var check = false var body: some Vi

我试图创建一个列表,只允许用户在进入编辑模式后删除。我试图在onDelete修饰符中使用三元操作,但无法理解。有什么建议吗

这是我的密码:

struct ContentView: View {
    @State private var stuff = ["First", "Second", "Third"]
    @State private var check = false
    
    var body: some View {
        Form {
            Button(action: { check.toggle() }, label: { Text(check ? "Editing" : "Edit") })
            
            ForEach(0..<stuff.count) { items in
                Section{ Text(stuff[items]) }
            }
             .onDelete(perform: self.deleteItem)
               
        }
    }
    
    private func deleteItem(at indexSet: IndexSet) {
        self.stuff.remove(atOffsets: indexSet)
    }
}
struct ContentView:View{
@国家私有变量=[“第一”、“第二”、“第三”]
@状态私有变量检查=false
var body:一些观点{
形式{
按钮(操作:{check.toggle()},标签:{Text(检查?“编辑”:“编辑”)})

ForEach(0..我假设您查找以下内容

var body: some View {
    Form {
        Button(action: { check.toggle() }, label: { Text(check ? "Editing" : "Edit") })
        
        ForEach(0..<stuff.count) { items in
            Section{ Text(stuff[items]) }
        }
         .onDelete(perform: self.deleteItem)
         .deleteDisabled(!check)             // << this one !!
    }
}
var主体:一些视图{
形式{
按钮(操作:{check.toggle()},标签:{Text(检查?“编辑”:“编辑”)})
ForEach(0..
struct ContentView:View{
@国营私营
var stuff=[“第一”、“第二”、“第三”]
var body:一些观点{
导航视图{
形式{
ForEach(0。。
struct ContentView: View {
    @State private
    var stuff = ["First", "Second", "Third"]
    var body: some View {
        NavigationView {
            Form {
                ForEach(0..<stuff.count) { item in
                    Section {
                        Text(stuff[item])
                    }
                }
                .onDelete(
                    perform: delete)
            }
            .navigationBarItems(
                trailing:
                    EditButton()
            )
            .navigationTitle("Test")
        }
    }
}

extension ContentView {
    private func delete(at indexSet: IndexSet) {
        stuff.remove(atOffsets: indexSet)
    }
}