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, и там тоже не работает.

0 ответов

Другие вопросы по тегам