July 12, 2021
I've started updating my Swift, SwiftUI, Functional, and Combine Kickstart books.
Up first is A Swift Kickstart.
This update is for Swift 5.5, Xcode 13, and iOS 15.
I need to say up front that I decided that async/await is beyond the scope of an introductory Swift book. Unfortunately, that means that I've also decided that my next book will most likely be on asynchronous coding in Swift.
If you own the book this is a free update. If you know an experienced programmer who needs an intro to Swift book, I'd appreciate you recommending that they consider A Swift Kickstart.
Here are the changes:
This is the Swift 5.5 / Xcode 13 release.
The code in this book has been tested on Apple Silicon for macOS and iPadOS and Intel Macs for macOS.
I've cleaned up the prose here and there.
I removed a section that pointed out something particular about playgrounds that has been addressed. You didn't used to be able to call a function in a playground above where it was defined.
I added an example of multiple variadic parameters as that's been added to Swift.
I removed the use of reduce() in Chapter 2. It added complexity to a simple example.
I replaced some examples in Chapter 3 that were unnecessarily complicated.
I added a forEach() example to Chapter 4.
There's an early example of Equatable and Comparable for Enumerations in Chapter 5.
Structs now include a brief example of Comparable.
I've added an example of the ability of mutable methods to assign to self and warned against it.
There's a quick discussion of why actors and asynchronous coding is beyond the scope of this introduction to Swift. I plan to write a book that covers asynchronous coding in Swift.
I added a quick pointer that methods in classes are never mutating.
I updated the multiple catches example and added a comment about async at the end of the errors chapter.