0

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

这是我的代码:

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)
        }
      }

  }
}

非常感谢

4

1 回答 1

1

在方法中进行属性初始化,如下所示:

init() {
    if UserDefaults.standard.bool(forKey: "Logged") != true {
         rooterPage = 1
    }
    // Logged user
    else {
         rooterPage = 3
    }
}
于 2020-06-08T13:46:07.547 回答