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”
明确指定泛型参数以解决此问题