EXC_ARITHMETIC beim Zugriff auf zufällige Elemente von NSArray

8

Ich versuche, die Werte eines Arrays nach dem Zufallsprinzip zu bekommen, aber ich bekomme einen Fehler Hier ist mein Code so weit:

%Vor%     
Tbt-lion Arman Capistrano 11.12.2012, 01:33
quelle

1 Antwort

11

Der Fehler, den Sie bekommen (eine arithmetische Ausnahme), ist, weil validMoves leer ist und dies zu einer Division durch Null führt, wenn Sie die Modulo-Operation durchführen.

Sie müssen explizit auf den Fall eines leeren validMoves -Arrays prüfen. Außerdem sollten Sie arc4random_uniform verwenden, um Modulo-Bias zu vermeiden.

%Vor%

Als letzte Bemerkung, dass arc4random_uniform(0) 0 zurückgibt, sollte ein solcher Fall vermieden werden oder Sie werden versuchen, auf das erste Element eines leeren Arrays zuzugreifen, was Ihre Anwendung natürlich zum Absturz bringen wird.

>     
Gabriele Petronella 11.12.2012, 01:55
quelle

Tags und Links