2016-09-08 2 views
1
class Car { 

let numWheels: Int 

    init(numWheels: Int) { 
     self.numWheels = numWheels 
    }//end constructor 
}//end class 


class FastCar: Car { 
    let topSpeed: Int 
}//end class 

Почему я получаю сообщение об ошибке «Класс FastCar не имеет инициализаторов»? Я крайний новичок в мире быстрых, и я чувствую, что я просто сделал простую ошибку, но я много раз переходил к ней, и я решил приехать сюда.Ошибка «Класс не имеет инициализаторов» в Swift

+1

Классы должны быть полностью инициализирован, когда они инстанцируются. Вам нужно либо предоставить инициализатор для FastCar, либо предоставить значение для topSpeed. Вам также нужно будет инициализировать numWheels. – vacawama

+0

Возможный дубликат [Класс не имеет инициализаторов Swift] (http://stackoverflow.com/questions/27797351/class-has-no-initializers-swift) – Cristik

ответ

0

Поскольку ваш класс FastCar имеет переменную 'let', он должен иметь конструктор или иметь значение.

class FastCar: Car { 
    let topSpeed: Int = 4 
} 

или

class FastCar: Car { 
    let topSpeed: Int 
    init(topSpeed: Int) { 
     self.topSpeed = topSpeed 
     super.init(numWheels: 4) // numWheels provided by init? 
    } 
} 
Смежные вопросы