Согласно документации swift :
Все структуры имеют автоматически сгенерированный элементный инициализатор, который можно использовать для инициализации свойств элементов новых экземпляров структуры. Начальные значения для свойств нового экземпляра могут быть переданы в элементный инициализатор по имени
let vga = Resolution(width: 640, height: 480)
В отличие от структур, экземпляры классов не получают элементный инициализатор по умолчанию.
В вашем случае вы можете создать экземпляр LectureStruct
с помощью:
let lecture = LectureStruct(fullName: "Match Lecture")
Чтобы сделать то же самое с LectureClass
, вам потребуется определить метод init следующим образом:
class LectureClass: FullNameable {
var fullName: String
init(fullName: String) {
self.fullName = fullName
}
}