Як і для iOS 9 та OS X 10.11, ви можете використовувати нові класи GameplayKit для генерації випадкових чисел різними способами.
Ви можете обрати чотири типи джерел: загальний випадковий джерело (без назви, вниз до системи, щоб вибрати, що він робить), лінійний конгруентний, ARC4 та Mersenne Twister. Вони можуть генерувати випадкові вставки, поплавці та булі.
На найпростішому рівні ви можете генерувати випадкове число з вбудованого випадкового джерела системи таким чином:
NSInteger rand = [[GKRandomSource sharedRandom] nextInt];
Це генерує число від -2,147,483,648 до 2,147,483,647. Якщо вам потрібно число від 0 до верхньої межі (виключно), ви використовуєте це:
NSInteger rand6 = [[GKRandomSource sharedRandom] nextIntWithUpperBound:6];
У GameplayKit є деякі конструктори зручності, вбудовані для роботи з кубиками. Наприклад, ви можете закатати шестигранну штамп таким чином:
GKRandomDistribution *d6 = [GKRandomDistribution d6];
[d6 nextInt];
Крім того, ви можете сформувати випадковий розподіл, використовуючи такі речі GKShuffledDistribution
.
arc4random_uniform(x)
як описано нижче від @yood. Він також знаходиться в stdlib.h (після OS X 10.7 та iOS 4.3) і дає більш рівномірний розподіл випадкових чисел. Використанняint r = arc4random_uniform(74);