AppStorage 与 CoreData
Posted
技术标签:
【中文标题】AppStorage 与 CoreData【英文标题】:AppStorage vs CoreData 【发布时间】:2020-08-16 13:16:51 【问题描述】:最近 SwiftUI 的新手,并注意到在 ios 14 中引入了属性包装器@AppStorage
。
想知道@AppStorage
和CoreData
的区别
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】:AppStorage
是UserDefaults
的属性包装器,用于SwiftUI
。因此,无论您使用 AppStorage
存储什么,也可以通过 UserDefaults
获得。
@AppStorage("isDarkMode") private var isDarkMode: Bool = false
//...
let isDarkMode = UserDefaults.standard.bool(forKey: "isDarkMode")
CoreData
是您存储大量数据的地方。你可以通过这个post。
【讨论】:
以上是关于AppStorage 与 CoreData的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ViewModel 中使用带有自定义类型和 @Published 的 @AppStorage?
使用 @AppStorage 进行设置的 SwiftUI 最佳实践:如何在加载 @AppStorage 之前读取 UserDefaults?