Apple Watch上的SwiftUI NavigationView在子视图中触发对onAppear的多次调用
使用Xcode Beta 12.3,下面的代码将调用onAppear两次并打印两次。当我注释掉包装ContentView的NavigationView时,onAppear只被调用一次。这是预期的行为吗?似乎任何NavigationView都会触发对onAppear的多次调用,这不是我所期望的……我期望的行为与UIKit中出现的Views相同Apple Watch上的SwiftUI NavigationView在子视图中触发对onAppear的多次调用,swiftui,apple-watch,watchos,ios-navigationview,onappear,Swiftui,Apple Watch,Watchos,Ios Navigationview,Onappear,使用Xcode Beta 12.3,下面的代码将调用onAppear两次并打印两次。当我注释掉包装ContentView的NavigationView时,onAppear只被调用一次。这是预期的行为吗?似乎任何NavigationView都会触发对onAppear的多次调用,这不是我所期望的……我期望的行为与UIKit中出现的Views相同 @main struct anotherTestWatchAppApp: App { var body: some Scene {
@main
struct anotherTestWatchAppApp: App {
var body: some Scene {
WindowGroup {
NavigationView {
ContentView()
}
}
}
}
struct ContentView: View {
var body: some View {
Text("Hello, World!")
.padding()
.onAppear(perform: {
print("test")
})
}
}
类似的事情也发生在iOS 14上。当通过NavigationLink导航到另一个视图时,
onAppear
和onDisappear
都被调用。FB7908688I为此手表提交FB8118748