每当我在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"))
}
}
}
有什么想法为什么会发生或如何解决?
答案 0 :(得分:2)
我发现了问题所在。我当时使用Xcode 11 beta 1进行构建,但是我的iPhone运行的是iOS 13 beta2。由于Swift框架现已内置到iOS中,因此我手机上的Swift框架(使用beta 2 sdk)正在执行我的iOS应用程序(使用beta 1 sdk)没想到。升级到Xcode 11 beta 2后,一切正常。