¿Número aleatorio de una matriz sin repetir el mismo número dos veces seguidas?

Estoy haciendo un juego usando Swift y SpriteKit donde muevo un objeto a ubicaciones aleatorias en función de una matriz.

La matriz que se compone de CGPoints:

let easyArray = [CGPointMake(0,0), CGPointMake(126.6,0),   CGPointMake(253.4,0), CGPointMake(0,197.5), CGPointMake(126.7,197.5), CGPointMake(253.4,197.5), CGPointMake(0,395), CGPointMake(126.7,395), CGPointMake(253.4,395)]

Uso esta función para generar un número aleatorio:

func randomNumber(maximum: UInt32) -> Int {

    var randomNumber = arc4random_uniform(maximum)
    while previousNumber == randomNumber {
    randomNumber = arc4random_uniform(maximum)
}
    previousNumber = randomNumber
    return Int(randomNumber)
}

Utilicé esto para mover el objeto en función del número aleatorio generado:

let greenEasy = randomNumberNew(9)
let moveSelector = SKAction.moveTo(easyArray[greenEasy], duration: 0)
selector.runAction(moveSelector)

He leído un poco en línea y descubrí que la condición "Mientras" debería hacer que el mismo número aleatorio no se genere dos veces seguidas. Pero aún sucede.

¿Alguien puede ayudarme a hacerlo para que no obtenga el mismo número dos veces seguidas?

Respuestas a la pregunta(4)

Su respuesta a la pregunta