NavigationSplitView не работает с использованием перечисления со связанным типом
У меня есть следующая модель для навигации по различным страницам:
enum Destination: Hashable {
case today
case activity
case settings(path: SettingsPath? = nil)
case project(project: ProjectItem? = nil)
enum SettingsPath: Hashable {
case cycles
case donations
}
}
В ObservableObject я использую
@Published var sidebarDestination: Destination? = .today
А затем в различныхNavigationLink
кнопки, я использую следующий инициализатор -NavigationLink(value: NavigationModel.Destination.activity...
В подробном разделе моего NavigationSplitView я использую такой переключатель
detail: {
if let destination = navigationModel.sidebarDestination {
switch destination {
case .today:
TodayView()
case .project(let project):
// FIXME: Why is the detail view not updating
if let selectedProject = project {
IOSProjectDetailView(project: selectedProject)
} else {
EmptyView()
}
...
Я заметил, что страницы с регистром перечисления со связанным значением не обновляются правильно - заголовок на странице будет обновляться, но не другой контент. Страницы с регистром enum без связанного типа работают нормально.
Все это с помощью iPad — большие размеры экрана
Я пробовал с iOS 16.0.1, а также с iOS 16.1, и там тоже не работает.