gpt4 book ai didi

swiftui - @EnvironmentObject 在模式表上使用时消失

转载 作者:行者123 更新时间:2023-12-04 07:35:48 30 4
gpt4 key购买 nike

#SwiftUI 中似乎存在一个错误,其中 @EnvironmentObject如果用户拉下模态表以关闭它,但取消手势使其保持打开状态,则将不再可用。
实际错误:

SwiftUI:0: Fatal error: No ObservableObject of type found. A View.environmentObject(_:) for may be missing as an ancestor of this view.


它不会一直发生,但发现它不难重现。有谁知道修复?

最佳答案

只需附加一个 .environmentObject(env)到显示的工作表,它解决了您的问题。
更详细地:

@EnvrironmentObject var currentEnvironment: SomeEnvironment
@State var isSheetPresented: Bool = false

var body: some View {
VStack {
// ...
}
.sheet(isPresented: $isSheetPresented) {
OtherView()
.environmentObject(currentEnvironment)
}
}
要重现该问题,您可以使用拖动手势将工作表拖到一半以将其关闭,然后松开即可。 (以一种不会关闭的方式......)
关于这种情况,我曾经读到它在某种程度上是一个错误。但我也读到这是有意的。对我来说,这似乎是一个错误,因为它发生的条件对我来说并不合适。

关于swiftui - @EnvironmentObject 在模式表上使用时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67743048/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com