Pada iOS 9 dan OS X 10.11, Anda dapat menggunakan kelas GameplayKit baru untuk menghasilkan angka acak dalam berbagai cara.
Anda memiliki empat jenis sumber untuk dipilih: sumber acak umum (tanpa nama, ke sistem untuk memilih apa yang dilakukannya), linear congruential, ARC4 dan Mersenne Twister. Ini dapat menghasilkan int acak, float, dan bools.
Pada tingkat paling sederhana, Anda dapat menghasilkan angka acak dari sumber acak bawaan sistem seperti ini:
NSInteger rand = [[GKRandomSource sharedRandom] nextInt];
Itu menghasilkan angka antara -2.147.483.648 dan 2.147.483.647. Jika Anda ingin angka antara 0 dan batas atas (eksklusif) Anda akan menggunakan ini:
NSInteger rand6 = [[GKRandomSource sharedRandom] nextIntWithUpperBound:6];
GameplayKit memiliki beberapa konstruktor yang mudah digunakan untuk bekerja dengan dadu. Misalnya, Anda dapat menggulung dadu enam sisi seperti ini:
GKRandomDistribution *d6 = [GKRandomDistribution d6];
[d6 nextInt];
Plus Anda dapat membentuk distribusi acak dengan menggunakan hal-hal seperti GKShuffledDistribution
.
arc4random_uniform(x)
seperti dijelaskan di bawah oleh @yood. Ini juga di stdlib.h (setelah OS X 10.7 dan iOS 4.3) dan memberikan distribusi angka acak yang lebih seragam. Penggunaanint r = arc4random_uniform(74);