2 Star 23 Fork 10

小弟调调/swiftui-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
README.md 1.13 KB
一键复制 编辑 原始数据 按行查看 历史

什么是 @State 属性包装器?

SwiftUI 使用 @State 属性包装器允许我们修改结构体中的值,由于结构体是值类型,通常不允许这样做。

当我们将 @State 放在属性之前时,我们有效地将其存储从结构中移出,并移到 SwiftUI 管理的共享存储中。 这意味着SwiftUI可以在需要时销毁并重新创建我们的结构(这可能会发生很多!),而不会丢失其存储的状态。

@State 应该与简单的结构类型(例如StringInt和数组)一起使用,并且通常不应与其他视图共享。 如果要在视图之间共享值,则可能应该使用 @ObservedObject@EnvironmentObject - 两者都将确保在数据更改时刷新所有视图。

为了增强 @State 属性的本地性,Apple 建议您将其标记为私有,如下所示:

@State private var username = ""

这不是必需的,但似乎是明智的做法。

提示:如果需要,您可以使用 @State 跟踪引用类型,只是在引用类型更改时不会收到通知。 这对于不符合 ObservableObject 协议的类特别有用。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/jaywcjlove/swiftui-example.git
git@gitee.com:jaywcjlove/swiftui-example.git
jaywcjlove
swiftui-example
swiftui-example
main

搜索帮助