class swift initialization sprite-kit init

class - Parámetro opcional en la inicialización de clase



swift initialization (1)

Lo que quiere es establecer un valor predeterminado para rotationSpeed, pero se está olvidando de declarar el tipo y asignar un valor predeterminado. En lugar de decir rotationSpeed: 0.0) tendría rotationSpeed: CGFloat = 0 . Hacer que su inicializador se vea así:

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

También puede encontrar útil esta publicación SO también

Estoy trabajando con Swift, Sprite-Kit y Xcode 6,

Tengo una clase declarada así:

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 }

Entonces puedo asignar una variable a esta clase como esta:

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

pero si, por ejemplo, no quiero inicializar el valor de rotationSpeed ​​y tenerlo por defecto a 0.0, ¿cómo puedo lograrlo? No puedo eliminar el parámetro, me da un error ...