FREE: Read a new Swift article every day – click here! >>

< Previous: Shuffling an array with GameplayKit: arrayByShufflingObjects(in:)   Next: Project 36 >

Wrap up

I realize technique projects can be a little dry, but I hope you can see some real advantages to using GameplayKit randomization over other solutions. Not only does it offer a wider range of functionality (shuffled and Gaussian distributions are awesome!) but it makes your code much simpler, and also has the guarantee of being provably random.

Of course, if you're stuck supporting prior versions of iOS, you'll need to mix and match GameplayKit randomization with calls to arc4random_uniform() and the like.

It bears repeating that this is only a small slice of what GameplayKit offers. If you haven't already read tutorial 34, you should check it out now - it's a tutorial for GKMinmaxStrategist from GameplayKit that shows you how to create an AI for Four in a Row.

You did it! Now what?

You finished another project, and I'm glad Hacking with Swift helped you. Now I need your help. Please take just a moment out of your day to tell others about Hacking with Swift so they can benefit too.

You can click below to post a tweet straight to this project. Or if you're feeling particularly generous, you can click here to link to Hacking with Swift on your website and help spread the word.

Thank you. Your support is what keeps me going!

 

About the author

Paul Hudson is the creator of Hacking with Swift, the most comprehensive series of Swift books in the world. He's also the editor of Swift Developer News, the maintainer of the Swift Knowledge Base, and Mario Kart world champion. OK, so that last part isn't true. If you're curious you can learn more here.

Take Swift further!

Your Swift skills let you make apps for macOS, watchOS, tvOS, and more, and for one low price you can learn it all with my Swift Platform Pack!

< Previous: Shuffling an array with GameplayKit: arrayByShufflingObjects(in:)   Next: Project 36 >
MASTER SWIFT NOW
Buy Testing Swift Buy Practical iOS 12 Buy Pro Swift Buy Swift Design Patterns Buy Swift Coding Challenges Buy Server-Side Swift (Vapor Edition) Buy Server-Side Swift (Kitura Edition) Buy Hacking with macOS Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with Swift Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let me know!

Click here to visit the Hacking with Swift store >>