【发布时间】:2020-06-11 08:33:26
【问题描述】:
在提交错误报告之前,我想确认我没有遗漏一些明显的东西。
应用程序在有条件地显示List(或Form)后从另一个视图返回时崩溃。奇怪的是,当列表上方有视图时,应用程序不会崩溃。
没有有用的堆栈跟踪可用。该应用程序会因EXC_BAD_ACCESS (SIGSEGV) 而崩溃。
复制粘贴即可重现:
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: SecondView()) {
Text("Second view")
}
}
}
}
struct SecondView: View {
@State private var showList = false
var body: some View {
Group {
if showList {
// Text("No crash if there is a view above the list")
List {
Text("Now navigate back")
}
} else {
Button("Show list") {
self.showList = true
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
我在尝试在列表为空时有条件地显示消息时注意到了这种行为。上面的代码是一个抽象,但使用几乎相同的逻辑结构。
macOS 10.15.5
Xcode 11.5
模拟器(iPhone 11 Pro)
【问题讨论】:
-
它不会让我崩溃。我正在运行
macOS: 10.15.4、xCode: 11.4.1和simulator: iPhone 11 Pro MAX running iOS 13.4.1但是它确实在iPhone 11 Pro上崩溃了我认为这是Apple 的错误 -
对我来说不会崩溃。 Mac 10.15.5、xcode 11.6 beta、ios 13.5 iphone 10 和 iPad、mac 催化剂。
-
@workingdog 它在
iPhone 11 Pro上崩溃,你能在iPhone 11 Pro上运行并确认吗?我也打算向 Apple 提交错误报告。编辑:我认为它只会在模拟器上崩溃。 -
确认它在 iPhone 11 Pro 模拟器上崩溃,但如果我将 .navigationViewStyle(StackNavigationViewStyle()) 添加到 NavigationView() 则不会。
-
它在我的物理 iPhone 7 上也崩溃了。它似乎与屏幕尺寸有关。我可以确认它在 iPhone 11 Pro Max 或 iPhone 8 Plus 的模拟器中运行时不会崩溃。并且在使用
.navigationViewStyle(StackNavigationViewStyle())时根本不会崩溃。我还提交了错误报告 FB7732783。