I’m a co-author of Advanced Swift, together with Chris Eidhof and Airspeed Velocity.
The third edition, published in November 2017, has been thoroughly revised and expanded for Swift 4.
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.
If you prefer a printed book, you can order the paperback on Amazon (amazon.com, amazon.de, amazon.co.uk).
Is this book for me?
Advanced Swift is for you if you have read Apple’s 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 may never need to call into a C library or write your own collection type, but after a while, we think you’ll find it necessary to know about these things — either to improve your code’s performance, 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 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
- Collection Protocols
- Structs and Classes
- Encoding and Decoding
- Error Handling
(For the previous edition.)
This book is really a masterpiece. Reminds me of other advanced books from years ago like Effective C++ and Effective Perl Programming.
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.
I thought I knew Swift well — until I read this book!
I keep coming back to this book. There’s information I can’t simply find anywhere else.