You wrote: "[objectID] certainly changes from run to run"
I'm not seeing that. It seems to be completely consistent. I was using `objectID.uriRepresentation()` to implement `Identifiable`, and the docs for `uriRepresentation` say it is "archivable", which suggests to me that it doesn't change. (?) I'm using `NSPersistentCloudKitContainer`, if that matters.
I think that what's getting me now is...
ForEach(dataSource.fetchExercises(moc:moc)) { ex in
NavigationLink(destination: ExerciseView(exercise: ex)) {
ListItemView(exercise: ex)
}
}
If that detail view (ExerciseView), changes the exercise in way that should _reorder_ the results of fetchExercises and the ForEach, then I make `dataSource` (which is an observable object) emit `objectWillChange`. As expected, SwiftUI re-calls `fetchExercises`. But sadly, it pops off the detail view (ExerciseView) and returns to this list view.
I thought it should see that the exercise objects have the same IDs, so it would keep the ExerciseView "pushed".
I too am interested to see the SwiftUI 2020 changes next week, but I can't wait until September to release my app, so I need to get this working with the current SwiftUI.