iOS Programming: The Big Nerd Ranch Guide (Fourth Addition). Chapter 2 - Objective-C. Swift version.