Вам нужно избавиться от = []
struct Classroom {
let nameOfClass: String
let students: [Student]
}
let student1 = Student(firstName: "Keith", lastName: "Grimes", grade: "F")
let class1 = Classroom(nameOfClass: "Swift", students: [student1])
Обсуждение:
Когда вы добавляете значение по умолчанию для свойства внутри вашей структуры, оно не учитывает его в своем автоматическом методе init
, плюс вы объявляете students
как массив и отправляете один объект типа Student
, поэтому оберните его внутрь []
, если вам нужно иметь оба, вы можете добавить еще один init, как показано ниже
struct Classroom {
var nameOfClass: String
var students: [Student] = []
init(nameOfClass:String,students:[Student] = []) {
self.nameOfClass = nameOfClass
self.students = students
}
}