2

I'am using an init to initialize my variable groupManager from the environmentObject objCOurse.

But Xcode tells me Variable 'self.groupeManager' used before being initialized

Where is the mistake ?

struct DepartsSimultanesView: View {
    @EnvironmentObject var objCourse : CourseActuelle
    @State var selectedParcoursIndexArray : [Int] = []
    @State var groupeManager : GroupeManager
    
    init(groupeManager : GroupeManager) {
        self.groupeManager = GroupeManager(courseId: objCourse.id!) // Variable 'self.groupeManager' used before being initialized
        for _ in (0 ..< groupeManager.groupeList.count) {
            self.selectedParcoursIndexArray.append(0)
        }
    }
Clément Tengip
  • 618
  • 6
  • 19
  • 2
    Does this answer your question? [SwiftUI @State var initialization issue](https://stackoverflow.com/questions/56691630/swiftui-state-var-initialization-issue) – vadian Feb 11 '23 at 11:08
  • supposedly Xcode 14 you can do this, but it doesn't work for me either (and can't find anyone else talking about it except sarunw) https://sarunw.com/posts/state-variable-initialization/ – Steven Stefanik Feb 25 '23 at 21:43

1 Answers1

0

Thanks to @vadian comments, here what is working for me :

 init(groupeManager : GroupeManager, objCourse : CourseActuelle) {
        _groupeManager = State(initialValue: GroupeManager(courseId: objCourse.id!))
        var Varray : [Int] = []
        for _ in (0 ..< groupeManager.groupeList.count) {
            Varray.append(0)
        }
        _selectedParcoursIndexArray = State(initialValue: Varray)
        print(selectedParcoursIndexArray)
    }
Clément Tengip
  • 618
  • 6
  • 19