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

In iOS Widgets, do you have to mark read-only data as @State?

通常在 SwiftUI 中,视图拥有并用于呈现视图的数据保存在标有 @State 属性 包装器的私有 属性 中。这告诉系统跟踪对该 属性 的更改,以便它知道何时更新视图。

但是...如果该数据永远不会改变,因此用 let 标记并通过初始化程序设置,您还需要 @State 属性吗?

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

如果您的 属性 永远不会改变,只需在没有 @State 的情况下声明它并使用 'let'。您可以在创建视图时将其值作为参数传递给初始时间。