有条件地显示列表后导航回来时崩溃
Crash while navigating back after showing List conditionally
在提交错误报告之前,我想确认我没有遗漏任何明显的东西。
在有条件地显示 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
Simulator (iPhone 11 Pro)
尝试将以下内容添加到 NavigationView():
.navigationViewStyle(StackNavigationViewStyle())
让我知道这是否适用于您的系统。
在提交错误报告之前,我想确认我没有遗漏任何明显的东西。
在有条件地显示 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
Simulator (iPhone 11 Pro)
尝试将以下内容添加到 NavigationView():
.navigationViewStyle(StackNavigationViewStyle())
让我知道这是否适用于您的系统。