作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
UIKitCore
-[UIViewController _ancestorViewControllerOfClass:allowModalParent:] + 44
我在默认的SwiftUI导航堆栈中有View:
struct MyView: View {
@EnvironmentObject var viewModel: MyViewModel
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
var body: some View {
ZStack {
......
}
.onAppear {
self.viewModel
.onViewAppear(presentationMode: self.presentationMode)
}
}
}
final class MyViewModel {
var presentationMode: Binding<PresentationMode>?
func onViewAppear(presentationMode: Binding<PresentationMode>) {
self.presentationMode = presentationMode
}
func hide() {
presentationMode?.wrappedValue.dismiss() // crashes after calling this
}
}
因此,我以这种方式将MyView插入导航堆栈:
NavigationLink(
destination: MyView()
) {
Image(systemName: "plus.circle")
.font(.title)
}
然后,在几秒钟后用户按下MyView中的按钮后,我在MyViewModel中调用
hide()
。它几乎一直都在工作,但在5-10%的情况下会崩溃。
最佳答案
对我来说,解决的方法是设置.navigationViewStyle(StackNavigationViewStyle())
NavigationView { content }.navigationViewStyle(StackNavigationViewStyle())
关于SwiftUI在PresentationMode上随机崩溃?.wrappedValue.dismiss(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62969859/
这就是崩溃的样子 所以它随机崩溃在UIKit行上 UIKitCore -[UIViewController _ancestorViewControllerOfClass:allowModalParen
当您定义自己的属性包装器时,您必须指定一个名为“wrappedValue”的非静态属性。例如: @propertyWrapper struct MyPropertyWrapper { var
在 Swift 中,您可以在结构上定义可以在初始化时覆盖的默认值: struct myStruct { var a: Int = 1 } var instance1 = myStruct()
我有 Equinox、Jersey 和 MOXy 的工作环境。 Jersey 使用 MOXy 解析 JSON 并绑定(bind)到 bean 对象。将某些 @XmlRootElement 类的一个字段
我是一名优秀的程序员,十分优秀!