EXC_BAD_ACCESS 在 SwiftUI 中带有导航栏标题
EXC_BAD_ACCESS with navigation bar title in 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"))
}
}
}
知道为什么会发生这种情况或如何解决它吗?
我找到问题了。我正在使用 Xcode 11 beta 1 构建,但我的 iPhone 是 运行 iOS 13 beta 2。由于 Swift 框架现在内置于 iOS,我的 phone(使用 beta 2 sdk)上的 Swift 框架正在做我的 iOS 应用程序(使用 beta 1 sdk 编译)没有预料到的事情。一旦我升级到 Xcode 11 beta 2,一切正常。
每当我在我的 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"))
}
}
}
知道为什么会发生这种情况或如何解决它吗?
我找到问题了。我正在使用 Xcode 11 beta 1 构建,但我的 iPhone 是 运行 iOS 13 beta 2。由于 Swift 框架现在内置于 iOS,我的 phone(使用 beta 2 sdk)上的 Swift 框架正在做我的 iOS 应用程序(使用 beta 1 sdk 编译)没有预料到的事情。一旦我升级到 Xcode 11 beta 2,一切正常。