What Has Changed in the Seventh Edition?
Necessary Hardware and Software
A brief introduction to Auto Layout
Building the Finished Application
For the More Curious: Running an Application on a Device
Loops and String Interpolation
Enumerations and the Switch Statement
Exploring Apple’s Swift Documentation
3. Views and the View Hierarchy
The alignment rectangle and layout attributes
Adding constraints in Interface Builder
Bronze Challenge: More Auto Layout Practice
Silver Challenge: Adding a Gradient Layer
Gold Challenge: Spacing Out the Labels
For the More Curious: Retina Display
Setting the Initial View Controller
Interacting with View Controllers and Their Views
Silver Challenge: Different Background Colors
Creating a View Programmatically
Bronze Challenge: Points of Interest
Silver Challenge: Rebuild the Conversion Interface
For the More Curious: NSAutoresizingMaskLayoutConstraint
Responding to text field changes
Implementing the Temperature Conversion
Bronze Challenge: Disallow Alphabetic Characters
Silver Challenge: Displaying the User’s Region
7. Internationalization and Localization
NSLocalizedString and strings tables
Bronze Challenge: Another Localization
For the More Curious: Bundle’s Role in Internationalization
For the More Curious: Importing and Exporting as XLIFF
9. UITableView and UITableViewController
Beginning the LootLogger Application
Subclassing UITableViewController
Giving the controller access to the store
Implementing data source methods
Creating and retrieving UITableViewCells
Silver Challenge: Constant Rows
Gold Challenge: Favorite Items
10. Subclassing UITableViewCell
Exposing the Properties of ItemCell
Silver Challenge: Long Item Names
Bronze Challenge: More Stack Views
Navigating with UINavigationController
Appearing and Disappearing Views
Dismissing by pressing the Return key
Dismissing by tapping elsewhere
Adding buttons to the navigation bar
Bronze Challenge: Displaying a Number Pad
Silver Challenge: A Different Back Button Title
Gold Challenge: Pushing More View Controllers
13. Saving, Loading, and Scene States
Bronze Challenge: Throwing Errors
Gold Challenge: Support Multiple Windows
For the More Curious: Manually Conforming to Codable
For the More Curious: Scene State Transitions
For the More Curious: The Application Bundle
14. Presenting View Controllers
Displaying Images and UIImageView
Taking Pictures and UIImagePickerController
Creating a UIImagePickerController
Setting the image picker’s delegate
Presenting the image picker modally
Giving View Controllers Access to the Image Store
Loading Images from the ImageStore
Bronze Challenge: Editing an Image
Silver Challenge: Removing an Image
For the More Curious: Navigating Implementation Files
Modifying traits for a specific size class
Adding colors to the Asset Catalog
Bronze Challenge: Stacked Text Field and Labels
17. Extensions and Container View Controllers
Adding resources to the Asset Catalog
Creating a custom container view controller
Creating the MoodSelectionViewController
Creating the MoodListViewController
Bronze Challenge: More Access Control
Starting the Photorama Application
Enumerations and Associated Values
Downloading and Displaying the Image Data
Bronze Challenge: Printing the Response Information
Silver Challenge: Fetch Recent Photos from Flickr
Creating a Custom UICollectionViewCell
Bronze Challenge: Horizontal Scrolling
Silver Challenge: Updated Item Sizes
NSManagedObject and subclasses
Silver Challenge: Photo View Count
For the More Curious: The Core Data Stack