swiftui - 致命错误:@SceneStorage 仅用于 SwiftUI 应用程序生命周期。:文件 SwiftUI,第 0 行
问题描述
我正在尝试使用 iOS 14“SceneStorage”的新属性包装器,尽管它会产生此错误:
致命错误:@SceneStorage 仅用于 SwiftUI 应用程序生命周期。:文件 SwiftUI,第 0 行
这是我的代码:
struct ContentView: View {
@SceneStorage("isLoggedIn") var isLoggedIn = true
var body: some View {
Text("Hello, World!).onAppear {
print($isLoggedIn)
}
}
}
更新了...... 谢谢,@Asperi!确保将Life Cycle设置为SwiftUI App。
解决方案
适用于 Xcode 12 / iOS 14 / SwiftUI 生命周期
看起来您的项目使用 SwiftUI 1.0 AppDelegate/SceneDelegate
(又名 UIKit 生命周期)
在 SwiftUI 生命周期中,您的应用程序主应该像
@main
struct YourAppName: App {
var body: some Scene {
WindowGroup { // << this introduces Scene, needed for SceneStorage
ContentView()
}
}
}
推荐阅读
- javascript - 插件“gulp-mocha”中的错误
- ruby-on-rails - Rails 5,每个页面都需要活动记录
- java - 使用 Spring Security 身份验证测试方法
- python - 时间序列的 seq2seq 预测
- drupal - Drupal7:为什么 t() 不工作?
- javascript - JavaScript 表单验证不起作用;onsubmit() 属性有问题吗?
- neural-network - Caffe:概率输出大于1的分类器
- javascript - 没有缓存/持久性的nodejs最好的方法是什么?
- javascript - 如何在 react-native 中操作单个对象 JSON 的获取响应
- sqlite - Delphi FDQuery 选择没有列名的行