当将NavigationView放入macOS应用程序中时,SwiftUI @State只会更新一次。
SwiftUI是苹果推出的一种用于构建用户界面的声明式框架。@State是SwiftUI中的一种属性包装器,用于声明一个可变的状态。当使用@State修饰的属性发生变化时,SwiftUI会自动更新相关的视图。
然而,在NavigationView中,@State属性只会在视图加载时更新一次。这是因为NavigationView在macOS应用程序中通常用于显示导航栏和导航链接,这些导航链接在导航栏中被点击时会导致整个视图层次结构的重新加载。
因此,如果将@State属性放在NavigationView中,它只会在视图加载时更新一次,而不会在导航链接被点击时更新。如果需要在导航链接被点击时更新@State属性,可以考虑将@State属性放在NavigationView中的子视图中,或者使用其他适合的属性包装器,如@Binding或@ObservableObject。
腾讯云提供了一系列云计算相关的产品,可以帮助开发者构建和部署各种应用。具体推荐的产品和产品介绍链接地址可以根据具体需求和场景进行选择。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云