Swift 简单条件下的预期声明

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

为了在我的所有观点之间获得更好的归属,我在应用程序的一开始就做了一个根。我刚刚介绍了使用userDefautsLogged的登录系统。然后,当我开始编译时,它得到了“预期声明”,我错在哪里

这是我的密码:

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文章进行黑客攻击。