SwiftUI错误:通用参数';标签';无法显式推断。请指定用于修复此问题的泛型参数`

SwiftUI错误:通用参数';标签';无法显式推断。请指定用于修复此问题的泛型参数`,swiftui,Swiftui,我找不到此错误的问题。我认为编译器没有给出有意义的错误消息 为什么self.book.map{}在这里不起作用 var body: some View { List { ForEach(cards) { card in if (!self.showMarkedOnly || card.marked) { ZStack() { CardView(card: card).frame

我找不到此错误的问题。我认为编译器没有给出有意义的错误消息

为什么
self.book.map{}
在这里不起作用

var body: some View {
    List {
        ForEach(cards) { card in
            if (!self.showMarkedOnly || card.marked) {
                ZStack() {
                    CardView(card: card).frame(maxWidth: 400)
                        .contextMenu() {
                            if self.editMode {
                                Button(action: {}) { HStack { Image(systemName: "square.and.pencil"); Text("Edit") } }
                                Button(action: {}) { HStack { Image(systemName: "trash"); Text("Delete") } }
                                // self.book.map { Button(action: { self.onRemoveCard(card, fromBook: $0) }) { HStack { Image(systemName: "folder.badge.minus"); Text("Remove from current Book") } } } // ERROR happens here
                                if self.book != nil {
                                    Button(action: { self.onRemoveCard(card, fromBook: self.book!) }) { HStack { Image(systemName: "folder.badge.minus"); Text("Remove from current Book") } }
                                } // <------- this works!!! but I prefer to not use "self.book!"
                            } else {} }
                }
            }
        }
    }
}
var主体:一些视图{
名单{
ForEach(cards){card in
如果(!self.showmarkedly | | card.marked){
ZStack(){
CardView(卡:卡).框架(最大宽度:400)
.contextMenu(){
如果self.editMode{
按钮(操作:{}{HStack{Image(系统名:“square.and.pencil”);文本(“编辑”)}
按钮(操作:{}{HStack{Image(系统名:“垃圾”);文本(“删除”)}
//self.book.map{按钮(操作:{self.onRemoveCard(card,frombobook:$0)}{HStack{Image(systemName:“folder.badge.减号”);文本(“从当前书本中删除”)}//此处发生错误
如果self.book!=零{
按钮(操作:{self.onRemoveCard(卡片,fromBook:self.book!)}{HStack{Image(系统名:“folder.badge.减号”);文本(“从当前书本中删除”)}

}//这是嵌套闭包干扰$0的情况。请尝试以下操作:

self.book.map { book in Button(action: { self.onRemoveCard(card, fromBook: book) }) { ... }

你能编辑你的问题并在标题中包含实际错误吗?这将有助于在feedif
书中用适当的标题显示你的问题。map
是我想的,然后它会生成序列,而这不是
视图
,这是
菜单中所期望的
上下文菜单
,亲爱的,我已经做过了表示显示的错误与实际错误无关,这是Swiftui编译器的问题。@Asperi,book是可选值。map有两个方法,一个用于数组,一个用于可选值。以下两个代码应该相同,但使用第一个代码时出错:
self.book.map{按钮(操作:{self.onRemoveCard(卡片,fromBook:$0)}{HStack{Image(systemName:“folder.badge.减号”);Text(“从当前书本中删除”)}
if self.Book!=nil{按钮(操作:{self.onRemoveCard(卡片,fromBook:self.Book!)}{HStack{Image(systemName:“folder badge.减号”);Text(“从当前书本中删除”)}
@亲爱的,你说得对!错误显示:
无法推断泛型参数“Label”
明确指定泛型参数以解决此问题