我正在尝试制作一张卡片并在里面打印一个数据库,但出现错误“致命错误:找不到 CarouselViewModel 类型的 ObservableObject。CarouselViewModel 的 View.environmentObject(_:) 作为此视图的祖先可能会丢失。”这是代码:
结构开始有错误:
struct Home: View {
@EnvironmentObject var model: CarouselViewModel
@ObservedObject private var viewModel = NewsViewModel()
@State private var isModalOpen: Bool = false
@Namespace var animation
var body: some View {
有错误的代码:
ZStack{
ForEach(model.cards.indices.reversed(),id: \.self){index in
HStack {
CardView(card: model.cards[index], animation: animation)
.frame(width: getCardWidth(index: index), height: getCardHeight(index: index))
.offset(x: getCardOffset(index: index))
.rotationEffect(.init(degrees: getCardRotation(index: index)))
Spacer(minLength: 0)
}
.frame(height: 400)
.contentShape(Rectangle())
.offset(x: model.cards[index].offset)
.gesture(DragGesture(minimumDistance: 0)
.onChanged({ (value) in
onChanged(value: value, index: index)
}).onEnded({ (value) in
onEnd(value: value, index: index)
}))
}
}
.padding(.top,25)
.padding(.horizontal,30)
```
Thanks for help
无论你在哪里实例化Home
视图,你必须添加一个.environmentObject
传递实例的修饰符CarouselViewModel
to it.
我不知道你的确切代码是什么样的(或者什么CarouselViewModel
作为参数),但它看起来像:
//somewhere in the parent view:
@StateObject private var model = CarouselViewModel() //if iOS 13, use @ObservedObject
//where you instantiate `Home`:
Home().environmentObject(model)
请注意,这将also如果您尝试使用,则会出现错误Home
在 SwiftUI 预览版中,它没有这个.environmentObject
code.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)