NEW: Check out my incredible new SpriteKit book! >>

What are the best books for learning Swift programming?

Paul Hudson    June 20th 2016    @twostraws

I spend a lot of time writing in Swift and writing about Swift, so I don't have time to waste reading "OK" books that sort of meander around without giving me the detail I need. I buy a lot of books on Swift programming and general iOS development, and I also get asked "what books do you recommend?" several times each week, so I decided to write a short post telling you the books I particularly value and why.

FULL DISCLOSURE: I wrote the books Hacking with Swift for newbies, Pro Swift for experienced developers, Swift Coding Challenges for people who want to test their Swift, and Hacking with macOS to help you spread your skills beyind iOS. These are not in the list below, but obviously I rather like them!

Core Image for Swift, by Simon Gladman

Available from iBooks for free!

This is a ridiculous book. It's ridiculous because it goes into every corner of Core Image and shines a light in there so you can understand it yourself. It's ridiculous because you get video after video after video showing you exactly how every technique looks. It's ridiculous because it's only $17.99 when it's easily worth 3x or 4x that price. But most all it's ridiculous because the author is clearly someone who is deeply in love with Core Image, and wants you to be just as excited as he is.

We all know Core Image is powerful, but this book shows you – I lost track of how many times I said to myself "I didn't know Core Image could do that!", and of course Simon gives you the code to try so you can start using every effect yourself. Reading this book makes me feel like a Core Image superhero, and if you read it you can discover that you're a Core Image superhero too – what are you waiting for?

Swift Algorithms & Data Structures, by Wayne Bishop

Available from http://shop.waynewbishop.com starting at $18.95

I bought a digital copy of this book, which is lucky because I think a print copy would have worn out by now. Wayne goes over many of the most fundamental algorithms we use in computer science, each time presenting and explaining Swift code so you can follow his thinking exactly. What's the difference between bubble sort and insertion sort? How can you create and balance a binary search tree? How can you calculate the shortest path between two points? Too many people skip over these core techniques, and then wonder why they find some coding problems hard to solve.

While you can read this book from start to finish if you're a mathematics fan, I find it much more useful for reference, particularly when used alongside the book's accompanying GitHub repo.

Playground Secrets and Power Tips, by Erica Sadun

Available from iBooks for $11.99

Erica is a well-known and highly valued member of the iOS community, and she has a long history of writing clear, concise books. I find this one particularly useful partly because nothing else like it exists, but mainly because most people just don't realize how powerful Swift's playgrounds are.

Well, Erica is on a mission to change that, and in Playground Secrets you'll learn how to create drag-and-drop playgrounds, how to embed rich text and media, how to make asynchronous calls that don't time out, how to visualize your results clearly, and much more. Even better, the book has had lots of revisions since it was launched, updating examples and adding new content too – it's extremely thorough, as you would expect from Erica.

Advanced Swift, by Chris Eidhof and Airspeed Velocity

Available from obcj.io for $39

I wrote a whole book on advanced Swift usage, but this is the book I turn to when I need to go even deeper. If you want to know how Swift strings work internally, or what the difference is between unsafe mutable pointers and inout, this is the place to turn to.

This is a dense book, so it's not the kind of thing you can read in one sitting and hope to retain. However, take the time to read it carefully and I know it will pay off: the chapter on building your own queue data type is really well crafted, for example, and contains multiple valuable techniques in one mini-project.

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.

Master iOS 11 now!

My book Practical iOS 11 gives you seven complete coding projects that teach all the major new features in iOS 10 in a smart, practical way.

Click here to visit the Hacking with Swift store >>