Подтвердить что ты не робот

Необязательный параметр в инициализации класса

Я работаю с Swift, Sprite-Kit и Xcode 6,

У меня есть класс, объявленный следующим образом:

class Obstacles: SKSpriteNode
{
    init(initTime: Int, speed: CGFloat, positionX: CGFloat, rotationSpeed: CGFloat)
    {
        self.initTime = initTime
        self.rotationSpeed = rotationSpeed
        self.positionX = positionX

        super.init(texture: SKTexture(imageNamed: "Rectangle"), color: SKColor.redColor(), size: CGSize(width: 20, height: 20))
        self.speed = speed
    }

    var initTime: Int
    var positionX: CGFloat
    var rotationSpeed: CGFloat = 0
}

Поэтому я могу назначить переменную этому классу следующим образом:

var myVariable = Obstacles(initTime: 100, speed: 3.0, positionX: 10.0, rotationSpeed: 0.0)

но если, например, я не хочу инициализировать значение rotationSpeed ​​и по умолчанию он равен 0.0, как я могу это сделать? Я не могу удалить параметр, это приводит к ошибке...

4b9b3361

Ответ 1

Вы хотите установить значение по умолчанию для rotationSpeed, но вы забываете объявить тип и назначить значение по умолчанию. Вместо того, чтобы говорить rotationSpeed: 0.0), у вас будет rotationSpeed: CGFloat = 0. Создание инициализатора выглядит следующим образом:

init(initTime: Int, speed: CGFloat, positionX: CGFloat, rotationSpeed: CGFloat = 0)

Вы также можете найти this SO post полезно также