Swift 简单条件下的预期声明
为了在我的所有观点之间获得更好的归属,我在应用程序的一开始就做了一个根。我刚刚介绍了使用userDefautsLogged的登录系统。然后,当我开始编译时,它得到了“预期声明”,我错在哪里 这是我的密码:Swift 简单条件下的预期声明,swift,swiftui,Swift,Swiftui,为了在我的所有观点之间获得更好的归属,我在应用程序的一开始就做了一个根。我刚刚介绍了使用userDefautsLogged的登录系统。然后,当我开始编译时,它得到了“预期声明”,我错在哪里 这是我的密码: import SwiftUI struct MainView : View { @State var rooterPage: Int var defaults = UserDefaults.standard // New user (also this is wh
import SwiftUI
struct MainView : View {
@State var rooterPage: Int
var defaults = UserDefaults.standard
// New user (also this is where I got my error "Expected declaration"
if defaults.bool(forKey: "Logged") != true {
rooterPage = 1
}
// Logged user
else {
rooterPage = 3
}
var body: some View {
VStack{
if rooterPage == 1 {
WelcomeView(rooterPage: $rooterPage)
}
else if rooterPage == 2 {
Register(rooterPage: $rooterPage).transition(.slide)
}
else if rooterPage == 3 {
Home(rooterPage: $rooterPage).transition(.slide)
}
}
}
}
非常感谢在方法中初始化属性,如下所示:
init() {
if UserDefaults.standard.bool(forKey: "Logged") != true {
rooterPage = 1
}
// Logged user
else {
rooterPage = 3
}
}
所以我应该写一个函数RooterPage并在里面调用init()?你能把你的代码再开发一点吗?因为我的变量rooterPage在之后会被修改,我猜init()只会被调用一次。因为它是一个
@State
,所以只要它改变,你就可以改变它的状态,UI会相应地做出响应。因此,您不必担心初始值的设置。您可能需要遵循一些教程和文档来完成SwiftUI,您的代码可能需要大量的改进。我建议用swift的SwiftUI文章进行黑客攻击。