【问题标题】:Crash while navigating back after showing List conditionally有条件地显示列表后导航返回时崩溃
【发布时间】: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.4xCode: 11.4.1simulator: 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。

标签: ios crash swiftui


【解决方案1】:

尝试将以下内容添加到 NavigationView():

 .navigationViewStyle(StackNavigationViewStyle())

让我知道这是否适用于您的系统。

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 2015-05-05
    • 2012-01-16
    相关资源
    最近更新 更多