Verdadero código aleatorio

Actualmente estoy haciendo una aplicación de prueba. Cuando un usuario inicia el cuestionario, aparecen preguntas al azar, como cabría esperar de una aplicación de cuestionario. El problema es que no es del todo aleatorio. Muestra preguntas al azar, pero las preguntas se repiten. ¡Quería asegurarme de que no se repitan hasta el final! Mi código es:

int Questions = arc4random_uniform(142);
switch (Questions) {
    case 0:

        break;

    case 1:
        break;

(...)

¿No hay una mejor manera de hacerlo? ¿Una forma de simplemente no repetir las preguntas? Muchas gracias!