I’m co-author of Advanced Swift, one of the (or the?) most in-depth books about Swift you’ll find.
The fourth edition, published in May 2019, has been thoroughly revised and expanded for Swift 5.
Your book. One Word. Awesome.(Tweet)
This book is really a masterpiece. Reminds me of other advanced books from years ago like Effective C++ and Effective Perl Programming.(Review on Amazon)
Personally, I’ve found Advanced Swift to be indispensable.(Mention in the Swift Forum)
Lucid and clear. Instead of getting lost in the details the authors do a great job of communicating how to ‘think in swift’. I can’t recommend it highly enough.(Review on Amazon)
I thought I knew Swift well — until I read this book!(Review on Amazon)
I keep coming back to this book. There’s information I can’t simply find anywhere else.(Review on Amazon)
It’s awesome. Really. I’ve never read a book about programming languages as cool as Advanced Swift is.(Tweet)
What an amazing bible have you guys written.(Tweet)
I have been developing iOS for cca. 2 yrs, but I trash every one on intricate details thanks to Advanced Swift. Thank you, that is by far the most skill-elevating book I’ve ever read.(Tweet)
The best advanced Swift book I know. … In no other book have I found so many details and peculiarities explained so well. I find meaningful analogies very helpful, such as this explanation of the captured variables of closures:(Review on Amazon (original in German, loosely translated by me))Think of these functions combined with their captured variables as similar to instances of classes with a single method and some member variables.The tip to see a closure expression as afunction literalwas also an aha moment for me. I had never seen closures like that before.
Just finished it and I must say it is awesome.(Tweet)
Just read @objcio’s Advanced Swift chapter on Strings, and it is the best, most articulate, plain-English explanation of how Unicode works I’ve ever read. Wish I had understood this years ago.(Tweet)
Is this book for me?
Advanced Swift is for you if you have read The Swift Programming Language and/or you have used Swift for some time, and now you want to dig deeper and really understand how everything works.
To quote from the book’s introduction:
You can get up and running developing apps in Swift without needing to know about generics or overloading or the difference between static and dynamic dispatch. You can certainly use Swift without ever calling into a C library or writing your own collection type, but after a while, we think you’ll find it necessary to know about these things — whether to improve your code’s performance, or to make it more elegant or expressive, or just to get certain things done.
Learning more about these features is what this book is about. We intend to answer many of the “How do I do this?” or “Why does Swift behave like that?” questions we’ve seen come up again and again on various forums. Hopefully, once you’ve read our book, you’ll have gone from being aware of the basics of the language to knowing about many advanced features and having a much better understanding of how Swift works.
Here’s a chapter overview:
- Built-in Collections
- Structs and Classes
- Collection Protocols
- Error Handling
- Encoding and Decoding
- Interoperability with C
How to buy
You can buy the e-book at objc.io. The download includes PDF, ePub, and Mobi (Kindle) files, all DRM-free. This version also includes the full text of the book as Xcode playgrounds, so you can play live with the sample code while reading the book.
There’s also a video bundle, available as a separate purchase. In the videos (4.5 hours), we apply many concepts we discuss in the book to longer, practical examples. They are a great complement to the book.
If you prefer a printed book, you can order the paperback on Amazon (amazon.com, amazon.de, amazon.co.uk).