在iOS Widgets中,你是否必须将只读数据标记为@State?



通常在SwiftUI中,由视图拥有并用于渲染它的数据保存在一个带有@State属性包装器的私有属性中。这告诉系统跟踪该属性的变化,以便它知道何时更新视图。

但是…如果该数据从未改变,因此被标记为let并通过初始化器设置,那么您还需要@State属性吗?

此外,由于WidgetKit的视图在设计上都是不可变的(更不用说在系统拥有的完全独立/隔离的进程中运行),是否存在使用任何与状态相关的修饰符专门用于Widgets的视图的情况?

如果你的属性永远不会改变,只需声明它不带@State和使用'let'。你可以在创建View时将其值作为参数传递。

相关内容

  • 没有找到相关文章

最新更新