我\xe2\x80\x98d 喜欢将我的用户默认值存储在一个类中。使用旧的 Swift 数据流,可以在类中使用它。现在,使用新系统(Xcode 15,Beta 2),它不再\xe2\x80\x99 工作了。有什么办法可以使用吗?也许有一个解决方法?
\n这是以前的工作方式:
\nimport SwiftUI\n\nclass UserInfo: ObservableObject {\n\n@AppStorage("username") var username: String = ""\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n现在我想使用新系统:
\nimport SwiftUI\n\n@Observable class UserInfo {\n\n@AppStorage("username") var username: String = ""\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n不幸的是,它不起作用。
\n使用@AppStorage ...
inclass UserInfo: ObservableObject
可以很好地更新UserDefaults
. 这与observed
使用@Published var ...
变量时不同。
类似地,要在 new 中使用等效项@Observable
,请尝试使用:
@Observable class UserInfo {
@ObservationIgnored @AppStorage("username") var username: String = ""
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1069 次 |
最近记录: |