ตั้งแต่ iOS 9 และ OS X 10.11 คุณสามารถใช้คลาส GameplayKit ใหม่เพื่อสร้างตัวเลขสุ่มได้หลายวิธี
คุณมีแหล่งที่มาสี่ประเภทให้เลือก: แหล่งสุ่มทั่วไป (ไม่มีชื่อลงไปที่ระบบเพื่อเลือกว่ามันทำอะไร), เชิงเส้นเชิงเส้นตรง, ARC4 และ Mersenne Twister สิ่งเหล่านี้สามารถสร้าง ints แบบสุ่มลอยและบูลส์
ในระดับที่ง่ายที่สุดคุณสามารถสร้างตัวเลขสุ่มจากแหล่งสุ่มในตัวของระบบดังนี้:
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);