“ NSInternalInconsistencyException”,原因:“试图弹出到不存在的视图控制器。在“删除”上的某些设备上持续发生

时间:2019-09-25 19:02:32

标签: swiftui

我构建了一个可在多种设备上流畅运行的SwiftUI应用:iPhone 6s,6s Plus,7、8,两个X。 但是,当从列表视图中删除行时,有一部iPhone 6s Plus会使应用永久崩溃。

var general: Point
@Binding var generalPoints: [Point]

func deleteGeneral(at offsets: IndexSet) {
    if let first = offsets.first {
        let generali = generalPoints[first]
        deletePointFromParse(deletableData: generali)
        generalhPoints.remove(at: first)
    }
}

var body: some View {
    VStack {
        List {
            ForEach (self.generalPoints) { generali in
                VStack(alignment: .leading) {
                    Text(generali.eventReport)
                    .lineLimit(2)
                }
            }
        .onDelete(perform: deleteGeneral)
        }
    .navigationBarTitle("Delete")
    }
}

当我用电缆将特定的iPhone 6s Plus连接到Xcode 11 GM时出现错误消息:

2019-09-25 20:18:11.040835 + 0200点[392:54213] *-[UINavigationController popToViewController:transition:],/ BuildRoot / Library / Caches / com.apple.xbs /中的断言失败来源/UIKitCore/UIKit-3899.22.15/UINavigationController.m:7989 2019-09-25 20:18:11.041583 + 0200点[392:54213] * 由于未捕获的异常“ NSInternalInconsistencyException”而终止应用程序,原因:“试图弹出到不存在的视图控制器。” ***首先抛出调用堆栈: (0x18ef4498c 0x18ec6d0a4 0x18ee46d1c 0x18f27c8f4 0x1928bd8a0 0x1928bd5b8 0x1c41b5364 0x1c41b4880 0x1c4144f2c 0x1c4235924 0x1c459c2bc 0x1c459bd24 0x1c4592600 0x1c4144ce8 0x1c41411b8 0x101361828 0x101362c04 0x101370c64 0x18eec23c4 0x18eebd3b8 0x18eebc8bc 0x198d27328 0x192f516d4 0x100b4db48 0x18ed47460) libc ++ abi.dylib:以类型为NSException的未捕获异常终止 (lldb)

如果我省略'deletePointFromParse'行,则没有任何区别。

当我在连接的iPhone X上运行完全相同的代码时,它工作正常。我对编程很陌生,并且坚持应用程序的这种不一致行为。有人建议如何查找错误吗?

0 个答案:

没有答案