相关疑难解决方法(0)

SwiftUI:什么是 @AppStorage 属性包装器

我曾经使用以下语句将重要的应用程序数据(如登录凭据)保存到 UserDefaults 中:

UserDefaults.standard.set("sample@email.com", forKey: "emailAddress")
Run Code Online (Sandbox Code Playgroud)

现在,我知道 SwiftUI 引入了新的属性包装器,称为:

@AppStorage

谁能解释一下新功能的工作原理?

ios swift userdefaults swiftui ios14

23
推荐指数
3
解决办法
7782
查看次数

@AppStorage可以在SwiftUI中的Environment中使用吗?

@AppStorage可以在SwiftUI的Environment中使用吗?如果可以,你会怎么做?

我知道您可以使用 @Bindings 将 @AppStorage 的值从一个视图发送到另一个视图,我想知道是否可以将其放入环境中。我没有关于何时适用的实际示例,但我想知道这是否可能。

这足够疯狂吗?我认为您只会存储该值,而不会存储在 UserDefault 中。

struct RootView: View {
    @AppStorage("userPreferredDisplayMode") private var userPreferredDisplayMode: String = "automatic"
    @Environment(\.userPreferredDisplayMode) private var envUserPreferredDisplayMode: String    
    
    var body: some View {
        Text(title)
            .environment(\.userPreferredDisplayMode, envUserPreferredDisplayMode)
    }
}
Run Code Online (Sandbox Code Playgroud)

environment swift swiftui appstorage

8
推荐指数
1
解决办法
2437
查看次数

标签 统计

swift ×2

swiftui ×2

appstorage ×1

environment ×1

ios ×1

ios14 ×1

userdefaults ×1