SwiftUI中带有导航栏标题的EXC_BAD_ACCESS

时间:2019-06-30 16:32:35

标签: ios swift navigationbar swiftui

每当我在SwiftUI视图中包含导航栏标题时,我的iPhone就会崩溃(但不是在模拟器中)。如果我取出导航栏标题,则一切正常,但在那里需要标题。这是我的代码:

NavigationView {
    List {
        ForEach(self.viewModel.tasks) { task in
            TaskRow(task: task)
        }
            .onDelete(perform: self.viewModel.delete(indexSet:))
    }
        .listStyle(.grouped)
        .edgesIgnoringSafeArea(.bottom)
        .navigationBarTitle(Text("mainTitle")) //EXC_BAD_ACCESS crash here
}

更新

我将上面的代码剥离了下来,并开始了一个新项目,以确保它不是我的自定义UI或我的业务逻辑在做奇怪的事情。下面的代码在我的iPhone上也会发生相同的崩溃。

struct ContentView : View {
    var body: some View {
        NavigationView {
            List {
                ForEach((0...10).identified(by: \.self)) { val in
                    Text("test")
                    }
                }
                .listStyle(.grouped)
                .edgesIgnoringSafeArea(.bottom)
                .navigationBarTitle(Text("Hey"))
        }
    }
}

有什么想法为什么会发生或如何解决?

1 个答案:

答案 0 :(得分:2)

我发现了问题所在。我当时使用Xcode 11 beta 1进行构建,但是我的iPhone运行的是iOS 13 beta2。由于Swift框架现已内置到iOS中,因此我手机上的Swift框架(使用beta 2 sdk)正在执行我的iOS应用程序(使用beta 1 sdk)没想到。升级到Xcode 11 beta 2后,一切正常。