我正在尝试使用 iOS 14“SceneStorage”的新属性包装器,尽管它会产生此错误:
Fatal error: @SceneStorage is only for use with SwiftUI App Lifecycle.: file SwiftUI, line 0
这是我的代码:
struct ContentView: View {
@SceneStorage("isLoggedIn") var isLoggedIn = true
var body: some View {
Text("Hello, World!).onAppear {
print($isLoggedIn)
}
}
}
已更新... 谢谢,@Asperi! 确保将生命周期设置为SwiftUI应用程序。
最佳答案
与 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()
}
}
}
关于swiftui - fatal error : @SceneStorage is only for use with SwiftUI App Lifecycle. : file SwiftUI, 第 0 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62714326/