compilation error when trying to create a new array

Can you help me with 1 question please? I have erorr while try to create new array

Error text: "Cannot use instance member 'images' within property initializer; property initializers run before 'self' is available"

class ViewModel: ObservableObject {
    
    @Published var students: [StudentModel] = [
    StudentModel(name: "Roman", image: "bolt.fill"),
    StudentModel(name: "Ivan", image: "leaf.circle.fill"),
    StudentModel(name: "Denis", image: "ant.fill"),
    StudentModel(name: "Pavel", image: "pawprint.fill")
    ]
    
    @Published var names = ["Kirill","Mark","Vladimir","Andrew","Maksim","Igor","Petr", "Alexey"]
    
    @Published var images = ["bolt.fill", "leaf.circle.fill", "ant.fill", "pawprint.fill", "airtag.fill", "infinity.circle.fill"]
    
    var section: [StudentModel] = [StudentModel(name: names.randomElement() ?? "", image: images.randomElement() ?? "")]
    
    
    func addRow() {
        students.append(StudentModel(name: names.randomElement() ?? "", image: images.randomElement() ?? "" ))
        }

Thank you very much


When you are setting up your class, each property has to be initialized without a dependency on another property in that class., because until the whole thing is initialized, none of the properties are available yet.

You could do something like this:

var section: [StudentModel] = [
    StudentModel(
                name: ["Kirill","Mark","Vladimir","Andrew","Maksim","Igor","Petr", "Alexey"].randomElement() ?? "",
                image: ["bolt.fill", "leaf.circle.fill", "ant.fill", "pawprint.fill", "airtag.fill", "infinity.circle.fill"].randomElement() ?? "")
]