代码拉取完成,页面将自动刷新
@State
属性包装器?SwiftUI 使用 @State
属性包装器允许我们修改结构体中的值,由于结构体是值类型,通常不允许这样做。
当我们将 @State
放在属性之前时,我们有效地将其存储从结构中移出,并移到 SwiftUI
管理的共享存储中。 这意味着SwiftUI可以在需要时销毁并重新创建我们的结构(这可能会发生很多!),而不会丢失其存储的状态。
@State
应该与简单的结构类型(例如String
,Int
和数组)一起使用,并且通常不应与其他视图共享。 如果要在视图之间共享值,则可能应该使用 @ObservedObject
或 @EnvironmentObject
- 两者都将确保在数据更改时刷新所有视图。
为了增强 @State
属性的本地性,Apple
建议您将其标记为私有,如下所示:
@State private var username = ""
这不是必需的,但似乎是明智的做法。
提示:如果需要,您可以使用 @State
跟踪引用类型,只是在引用类型更改时不会收到通知。 这对于不符合 ObservableObject
协议的类特别有用。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。