AppStorage 与 CoreData

Posted

技术标签:

【中文标题】AppStorage 与 CoreData【英文标题】:AppStorage vs CoreData 【发布时间】:2020-08-16 13:16:51 【问题描述】:

最近 SwiftUI 的新手,并注意到在 ios 14 中引入了属性包装器@AppStorage。 想知道@AppStorageCoreData的区别

struct ContentView: View 
  @AppStorage("isDarkMode") 
  private var isDarkMode: Bool = false

  var body: some View 
    VStack 
      Text(isDarkMode ? "Dark" : "Light")

      Toggle(isOn: $isDarkMode) 
        Text("Switch Mode")
      .fixedSize()
    
  

【问题讨论】:

AppStorage 只是 UserDefaults 的一个方便的可观察包装器。 【参考方案1】:

AppStorageUserDefaults 的属性包装器,用于SwiftUI。因此,无论您使用 AppStorage 存储什么,也可以通过 UserDefaults 获得。

@AppStorage("isDarkMode") private var isDarkMode: Bool = false
//...
let isDarkMode = UserDefaults.standard.bool(forKey: "isDarkMode")

CoreData 是您存储大量数据的地方。你可以通过这个post。

【讨论】:

以上是关于AppStorage 与 CoreData的主要内容,如果未能解决你的问题,请参考以下文章