0

を使用して乱数文字列を生成しています

int rNumber = rand() %100000000 + 1;
_certificateReferenceField.text = [[NSString alloc] initWithFormat: @"C/R %d", rNumber];

アプリが最初に起動されたとき、またはバックグラウンドにあることから来たとき、アプリは常に最初に同じ番号を選択しc/R16808ますか?もう一度押すと問題ありません。すべて正常に動作します。

4

3 に答える 3

5

rand()は良い乱数ジェネレータではありません。これを実行してください

NSInteger rNumber = arc4random() % 100000000 + 1;
于 2013-01-04T19:15:20.880 に答える
1

を使用して乱数ジェネレーターをシードする必要がありますsrand。一般的な使用法は次のとおりです。

srand(time(NULL));

を呼び出す前にこれを呼び出しますrand

于 2013-01-04T19:15:37.917 に答える
0

使用できます

srandom(time(NULL));

乱数の生成をランダム化します。

次に、を使用random()して乱数を生成します。

于 2013-01-04T19:24:21.983 に答える