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 ...