【发布时间】:2020-07-30 20:46:04
【问题描述】:
开始使用 Swift 和 SwiftUI,我发现从 UIKit 迁移的过程非常困难。 目前被 UserDefaults 跺脚,即使在尝试理解我在网上找到的许多教程之后也是如此。
请告诉我我在这里做错了什么: 非常简单的代码:
- 向 UserDefault 注册一个 bool 值,
- 在文本中显示该布尔值!
没有比这更简单的了。 但我无法让它工作,因为对 UserDefaults 的调用会引发此错误消息:
实例方法'appendInterpolation'要求'Bool'符合'_FormatSpecifiable'
我的“应用程序”是默认的单视图应用程序,具有以下 2 项更改:
1- 在 AppDelegate 中,我注册了我的 bool:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
UserDefaults.standard.register(defaults: [
"MyBool 1": true
])
return true
}
2- 在 ContentView 中,我尝试显示它(在 struct ContentView: View 中):
let defaults = UserDefaults.standard
var body: some View {
Text("The BOOL 1 value is : Bool 1 = \(defaults.bool(forKey: "MyBool 1"))")
}
有什么想法吗?
谢谢
【问题讨论】:
-
感谢下面的帮助,我正在处理另一个尚未解决的 UserDefaults 问题:Data flow between UserDefaults and datePicker
-
@Enzo N. digiano:谢谢,但我看过那个教程。唉,事情并不是那么简单......
标签: swift swiftui userdefaults