The following mistakes have made their way into the final print edition. Some of these were spotted by readers, my sincerest thanks to them.
Chapter 3: Checking Out The Power Of Xcode
p72: At the end of the page, after the numbered list, the following paragraph and code snippet are missing:
We can now check for the presence of the environment variable in our code.
Update the calculateFullPrice method as follows:
var currencyString = "$"
let envVars = ProcessInfo.processInfo.environment
if let envVar = envVars["Currency Symbol"]
currencyString = envVar
print("Currency Symbol = \(envVar)")
let rate = rateTextField.doubleValue / 100.0 + 1.0
let fullPrice = preTaxTextField.doubleValue * rate
resultLabel.stringValue = currencyString
+ String(format: "%.2f", fullPrice)
Chapter 5: Advanced Swift
p132: The code snippet is incorrect and should read as follows:
static func == (lhs: GridMovement, rhs: GridMovement) -> Bool
return lhs.rows == rhs.rows && lhs.cols == rhs.cols