Update
Я не знал arc4random_uniform(), прежде чем это я рекомендую https://stackoverflow.com/a/18262992/2611613 как ответ. Ответ, приведенный ниже, по-прежнему имеет хорошее объяснение общего подхода к этой проблеме, не беспокоясь о языках.
Ваш ответ должен работать. Не зная, что случилось с тем, что у вас есть, я могу только догадываться о проблеме.
В настоящее время у вас есть
int randomNumber = (arc4random() % (toNumber - fromNumber)) + fromNumber;
Это производит диапазон [от-до) эксклюзивные, где вы никогда не получите значение ToNumber. Если вы хотите, чтобы ваше случайное число будет в состоянии получить включают ToNumber
int randomNumber = (arc4random() % (toNumber - fromNumber + 1)) + fromNumber;
С этим вы получите диапазон [от-до] включительно.
Вы можете посмотреть на https://stackoverflow.com/a/363732/2611613 за очень хорошее объяснение того, как это работает.
Что он сделал? Что вам не понравилось в результате? –
Что заставило вас использовать 10 и 30, когда вам нужно число от 4 до 10? – WendiKidd
SORRY Я только что совершил ошибку во время публикации, но в программе это 4 и 10 ... – user1275440