В вашей заявке делегат:
- (void) applicationDidFinishLaunching:(UIApplication *)application
{
srandom(time(NULL));
// ...
for (int i = 0; i < 100; i++) {
NSLog(@"%d", random());
}
}
Причина, по которой это работает, заключается в том, что для генераторов псевдослучайных чисел требуется начальное значение или seed . Используя время, вы с большей вероятностью будете получать разные последовательности «случайных» чисел при каждом выполнении.
Если вы не укажете начальное значение, одно и то же начальное число используется при каждом выполнении, что приводит к одинаковой последовательности. Это обычно нежелательное поведение, но в некоторых случаях полезно иметь возможность генерировать ту же последовательность, например, для тестирования алгоритмов.
В большинстве случаев вы захотите указать начальное значение, которое будет меняться между прогонами, и именно здесь пригодится текущее время.