SwiftUI 错误:更新 NavigationAuthority 绑定路径尝试每帧更新多次

Rom*_*min 10 swift swiftui swiftui-navigationview

我收到以下调试消息:

“更新 NavigationAuthority 绑定路径尝试每帧更新多次。”

有谁知道如何解决输出消息?

我在网上找不到任何有关如何解决此消息的信息,并且当我添加以下 NavigationLink 时它才开始出现:

var body: some View {
    getViewFor(state: viewmodel.state)
        .navigationTitle("NYC schools")
        .toolbar{
            NavigationLink("Settings") {
                SettingsView()
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

Kuh*_*ann 16

当您使用 ObservableObject (@Published) 或 @Observable (iOS17) 路径变量时,会出现此消息。

例如:

NavigationStack(path: self.navigationPathModel.$mainMenuNavPath)

要么您接受 NavigationAuthority 消息,要么您应该将 View 概念更改为 @State 变量,因为它们不会生成消息。

从 iOS16.4 开始,消息“ NavigationRequestObserver尝试每帧更新多次”至少得到了修复。

但“ NavigationAuthority ...”消息仍然存在于 iOS17.1 / Xcode 15.0.1 中。

  • 可以确认从 iOS 17 / Xcode 15.0.1 开始这是准确的,即“NavigationAuthority...”消息仍然存在,但“NavigationRequestObserver”消息已消失。 (3认同)