SIGABRT: Precondition failure: imported node deleted before its value was read
I still have this issue on Xcode 11 GM... I have three tabs all with lists inside, and whenever I change tabs while scrolling the current view the SIGBART crash occurs.
I still have this issue on Xcode 11.0 (11A420a). The crash happens only when NavigationLink used inside a dynamic List. the only work around for me was to use a ForEach inside the List like below:
List {
ForEach(store.items, id: \.id){ item in
NavigationLink(destination: YourDefinitionView()) {
Text("some text")
}
}
}
Xcode Beta 5 is really a step backward in terms of quality. My project is totally broken. First, the known issue with crashing Shape and also with the Tab and List views.
I have the following code which doesn't work anymore. It crashes on selecting the seconds tab:
struct WorkoutList: View {
var workoutCollection: WorkoutCollection
var body: some View {
NavigationView {
List(workoutCollection.workouts) { workout in
NavigationLink(destination: WorkoutDetail(workout: workout)) {
WorkoutRow(workout: workout)
}.accessibility(identifier: "workout")
}.accessibility(identifier: "workoutList").navigationBarTitle(Text("workouts.title"))
}
}
}
When replacing the dynamic List with a static one it works without any issues:
struct WorkoutList: View {
var workoutCollection: WorkoutCollection
var body: some View {
NavigationView {
List() {
NavigationLink(destination: WorkoutDetail(workout: workoutCollection.workout[0])) {
WorkoutRow(workout: workoutCollection.workout[0])
}.accessibility(identifier: "workout")
}.accessibility(identifier: "workoutList").navigationBarTitle(Text("workouts.title"))
}
}
}
I think we have to wait for Beta 6.
With Xcode Beta 6 (just released yesterday), my TabViews are working properly again. No more SIGABRT errors. So, time to upgrade!