如何使用SwiftUI中的按钮从数组中删除项目?

如何使用SwiftUI中的按钮从数组中删除项目?,swift,swiftui,Swift,Swiftui,我有一个视图,其中有一个列表,显示用户选择处理的所有文件。单击列表上的按钮时,我需要从数组中删除相应的文件。现在它给了我一个错误“无法将'URL'类型的值转换为预期的参数类型'()->Void'”。如何修复它?按钮操作将用括号括起来。正如@EmilioPelaez已经在评论中提到的那样。下面是实现的代码 List{ ForEach(files, id:\.self){ file in HStack{ Text((file.path as NSStr

我有一个视图,其中有一个列表,显示用户选择处理的所有文件。单击列表上的按钮时,我需要从数组中删除相应的文件。现在它给了我一个错误“无法将'URL'类型的值转换为预期的参数类型'()->Void'”。如何修复它?

按钮操作将用括号括起来。正如@EmilioPelaez已经在评论中提到的那样。下面是实现的代码

List{
    ForEach(files, id:\.self){ file in
        HStack{
            Text((file.path as NSString).lastPathComponent)
            Button(action: files.remove(at:files.firstIndex(of: file)!), label: {
                Text("Delete")
            })
        }
    }
}

将动作用括号括起来。这是个了结。@EmilioPelaez你能把你的评论作为一个答案发布出来让OP接受吗?这样其他人就可以知道这个问题有一个很好的答案。但这正是@EmilioPelaez所说的。是的,我在回答中已经提到了@EmilioPelaez。这就是实现。@aheze没关系!我来这里是为了帮助人们,不是为了要点。Faysal感谢您将我的评论变成回答!
Button(action: {
        files.remove(at:files.firstIndex(of: file)!)
    }, label: {
        Text("Delete")
 })